Eclipse ma defaultne tiez nastaveny warning, ak sa vyvojar pokusa priradit rovno do premennej, ktora je parametrom.

On 4. 4. 2011 14:37, Ondřej Fafejta wrote:
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