Ako koristis Javu 5(java 1.5) ili Javu 6,
onda imas nesto sto se zove Generics. Koristeci njihovu funkcionalnost kolekcijama unapred mozes da zadas sta ce im biti sadrzina,
pa tako u tvom primeru klasa Book bi mogla da izgleda ovako nekako (barem sto se tice RentingHistory-ja)
Code:
private Set<RentingHistory> rentingHistories = new HashSet<RentingHistory>(0);
...
public Set<RentingHistory> getRentingHistories() {
return this.rentingHistories;
}
public void setRentingHistories(Set<RentingHistory> rentingHistories) {
this.rentingHistories = rentingHistories
}
Takodje, ja imam obicaj da odmah dodam i dve metode za dodavanje i izuzimanje objekta iz kolekcije, pa bi tako trebalo da imas
Code:
public void addRentingHistory(RentingHistory rentingHistory) {
if (rentingHistory != null) {
this.rentingHistories.add(rentingHistory);
}
}
public void removeRentingHistory(RentingHistory rentingHistory) {
if (rentingHistory != null) {
this.rentingHistories.remove(rentingHistory);
}
}
I sada jos u compile time imas proveru da li neki objekat moze da se smesti u ovu kolekciju.
Sto se tice sad pitanja o kretanju kroz ovu kolekciju, Java5 odnosno Java6 imaju novi koncept foreach pa tako onda
kretanje kroz kolekciju moze da se odradi i tako kako si ti krenuo, Iteratorom, ili sa foreach
Code:
for (RentingHistory item : getRentingHistories()) {
// sada uradi nesto sa item
}
Nadam se da sam bio od pomoci.