Я пытаюсь понять, будет ли HashSet решением для моего следующего проекта, поэтому я провожу очень простой тест для проверки функциональности.У меня есть простой класс Klant
:
public class Klant {
private int klantNummer;
public Klant(int nummer) {
this.klantNummer = nummer;
}
public int getKlantNummer() {
return this.klantNummer;
}
}
, а класс со сквозной композицией использует HashSet
public class MySet<Klant> {
private Collection<Klant> mySet = null;
public MySet() {
mySet=new HashSet<Klant>();
}
public void add(Klant elem) {
mySet.add(elem);
}
public void toon() {
Iterator<Klant> i = mySet.iterator();
while(i.hasNext()) {
Klant k = i.next();
System.out.println(k.);
}
}
}
Проблема в методе toon()
В принципе, хотяя указываю, что Итератор будет содержать объекты Klant <Klant>
Локальный k
объект не предоставляет мне getKlantNummer()
mthod, определенный в Klant
Объект k
все еще является экземпляром Object
, и даже приведениемэто с:
Object k = (Klant)i.next();
это не будет работать.Снижение рейтинга опасно, но, насколько я помню, это не запрещено.
Любой совет?