2011/4/4 Robert Novotny <[email protected]>:
> Este by som to vylepsil, aby bolo vidiet efekt:
>
> I. Primitivy hodnotou:
>
> public static void zlyPokusOZmenuParametra(int i) {
>    ++i;
> }
>
> int i = 1;
> zlyPokusOZmenuParametra(i);
> System.out.println("i == " + i);  // 1
>
> II. Objekty referenciou
>
> public static void zmenDate(Date d) {
>    d.setTime(0L);
> }
>
> Date date = new Date();
> System.out.println("date == " + date);    // v case mojeho spusteni
> ... date == Mon Apr 04 14:15:27 CEST 2011
> zmenDate(date);
> System.out.println("date == " + date);    // date == Thu Jan 01
> 01:00:00 CET 1970


jj. tento příklad je výstižnější  ... (návratový typ je zbytečně matoucí ;-))

Jinak ještě doplním, že findbugs hlásí chybu, když např. entita má
getter pro parametr, u kterého můžeme přepsat hodnotu bez toho abychom
volali setter...

http://findbugs.sourceforge.net/bugDescriptions.html#EI_EXPOSE_REP

např. (píšu z hlavy - určitě někde budu mít překlep ;))

public class NejakaEntita implements Serializable {
    private Date createdAt;

   public Date getCreatedAt() {
       return createdAt;
   }
}

Fafi

Odpovedet emailem