- John naplója
- HaT blog
- Schneier on Security
- Loloke
- Zee
- Lolokene (már megint titkos)
- PET Portál és Blog
- Bakai Balázs Java-közeli élményei
Az Effective Java című könyvben is szerepel, hogy nem ajánlott nullt visszaadni, inkább részesítsük előnyben az üres tömböket és az üres kollekciókat, ha tömb vagy kollekció a visszatérési érték típusa. Lentebb arra látható egy példa, hogy JAXB használatakor hogyan kell annotálni az osztályunkat, hogy az unmarshall után a JAXB ne hagyjon maga után nullokat a kollekciók értékeként.
import java.util.LinkedList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Data {
@XmlElementWrapper(name = "list")
@XmlElement(name = "list-element")
private final List<String> list = new LinkedList<String>();
public Data() {
}
public List<String> getList() {
return new LinkedList<String>(list);
}
public void setList(final List<String> list) {
if (list == null) {
throw new IllegalArgumentException("list cannot be null");
}
this.list.clear();
this.list.addAll(list);
}
}
Érdemes megjegyezni, hogy ha a getter metódusra kerülne a @XmlElement annotáció, akkor a metódus által visszaadott listába kerülnének a JAXB által felvett elemek, emiatt a getterben nem lehetne másolatot visszaadni a belső listáról.
Hozzászólások
Azert nekem inkab szimpi az,
Azert nekem inkab szimpi az, hogy getterre teszek annotaciokat es nem isok a getter/setterbe semmit.
Eleg atlathatatlan amikor mindenfelet csinalnak a getter/setter metodusok.