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