【发布时间】:2017-06-09 08:26:01
【问题描述】:
public class Osoba {
final String imie;
final String nazwisko;
public Osoba(String imie, String nazwisko) {
this.imie = imie;
this.nazwisko = nazwisko;
}
@Override
public int hashCode() {
int hash = 3;
hash = 29 * hash + Objects.hashCode(this.imie);
hash = 29 * hash + Objects.hashCode(this.nazwisko);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Osoba other = (Osoba) obj;
if (!Objects.equals(this.imie, other.imie)) {
return false;
}
if (!Objects.equals(this.nazwisko, other.nazwisko)) {
return false;
}
return true;
}
@Override
public String toString() {
return imie+" "+nazwisko; //To change body of generated methods, choose Tools | Templates.
}
public class Pracownik extends Osoba{
private String stanowisko;
private double pensja;
public Pracownik(String imie, String nazwisko) {
super(imie, nazwisko);
}
public String getStanowisko() {
return stanowisko;
}
public double getPensja() {
return pensja;
}
public String getImie() {
return imie;
}
public String getNazwisko() {
return nazwisko;
}
public void setPensja(double pensja) {
this.pensja = pensja;
}
public void setStanowisko(String stanowisko) {
this.stanowisko = stanowisko;
}
@Override
public String toString() {
return super.toString()+" "+stanowisko+" "+pensja; //To change body of generated methods, choose Tools | Templates.
}
public class Firma{
Set<Pracownik> spis=new HashSet<Pracownik>() {};
public void init(){
Pracownik a1=new Pracownik("Iks","Iksinski");
Pracownik a2 = new Pracownik("Maria", "Nowak");
spis.add(a1);
spis.add(a2);
spis.add(new Pracownik("A","Aski"));
for(Iterator it=spis.iterator();it.hasNext();)
System.out.print(it.toString());
}
}
public static void zadanie4(){
Firma ob=new Firma();
ob.init();
}
init() 的结果 java.util.HashMap$KeyIterator@15db9742java.util.HashMap$KeyIterator@15db9742java.util.HashMap$KeyIterator@15db9742java.util.HashMap$KeyIterator@15db9742ja...
我不明白为什么它没有显示正确的结果
【问题讨论】:
-
it.next().toString()如果你想在迭代的当前元素上应用toString()。 -
您还应该声明通用迭代器:
Iterator<Pracownik>而不是原始迭代器:Iterator(即使它应用 toString() 方法您也可能看不到它的优势)。