【发布时间】:2020-03-18 11:43:45
【问题描述】:
我是 Java 新手,我正在尝试向 ma ArrayList 添加一个对象,如下所示:
ArrayList<Wizytowka> baza = new ArrayList<Wizytowka>();
int nrTel = 123456789;
Wizytowka nowa = new Wizytowka("imie","nazwisko","nazwaFirmy","mail",nrTel);
baza.add(nowa);
System.out.println("Baza:\n"+baza);
但是输出很奇怪,看起来像这样:
Baza:
[com.company.Wizytowka@31cefde0]
我真的不知道出了什么问题。当我尝试从对象nowa 和nowa.wypisz() 输出它时,它工作得很好。这是我的班级“Wizytowka”的样子:
public class Wizytowka {
private String imie;
private String nazwisko;
private String nazwaFirmy;
private String mail;
private int nrTel;
//imie
public void setImie(String imie){
this.imie = imie;
}
public String getImie(){
return this.imie;
}
//nazwisko
public void setNazwisko(String nazwisko){
this.nazwisko = nazwisko;
}
public String getNazwisko(){
return this.nazwisko;
}
//nazwa firmy
public void setNazwaFirmy(String nazwaFirmy){
this.nazwaFirmy = nazwaFirmy;
}
public String getNazwaFirmy(){
return this.nazwaFirmy;
}
//mail
public void setMail(String mail){
this.mail = mail;
}
public String getMail(){
return this.mail;
}
//nr telefonu
public void setNrTel(int nrTel){
this.nrTel = nrTel;
}
public int getNrTel(){
return this.nrTel;
}
public Wizytowka(String imie, String nazwisko, String nazwaFirmy, String mail, int nrTel){
setImie(imie);
setNazwisko(nazwisko);
setNazwaFirmy(nazwaFirmy);
setMail(mail);
setNrTel(nrTel);
}
public void wypisz(){
System.out.println("Imie: "+this.imie);
System.out.println("Nazwisko: "+this.nazwisko);
System.out.println("Firma: "+this.nazwaFirmy);
System.out.println("Mail: "+this.mail);
System.out.println("Nr tel.: "+this.nrTel);
}
}
感谢您的帮助
【问题讨论】:
-
你需要在你的 Wizytowka 类中添加一个 toString() 实现
-
你需要实现一个正确的
toString()方法,即覆盖Object中的那个。