我在 ArrayList 中有一个对象,我想在我的屏幕上打印该对象,但我无法使用这些 getter 来实现。我该怎么做?
public void start() {
ArrayList rij = new ArrayList();
rij.add(new Persoon("Foo","Bar",18));
rij.add(new Persoon("Jane","Doe",52));
rij.add(new Persoon("John","Doe",23));
for(int i = 0; i < 3; i++){
System.out.println((Persoon)rij.get(i).getNaam() + " " + rij.get(i).getVoornaam() + " " + rij.get(i).getLeeftijd());
}
}
private String naam = "";
private String voornaam = "";
private int leeftijd = 0;
public Persoon(String naam, String voornaam, int leeftijd){
this.naam = naam;
this.voornaam = voornaam;
this.leeftijd = leeftijd;
}
public String getNaam(){
return naam;
}
public String getVoornaam(){
return voornaam;
}
public int getLeeftijd(){
return leeftijd;
}
最佳答案
问题是你对 Persoon
的转换被应用于 rij.get(i).getNaam()
,而不是 rij.get(i)
。
你想要的是:
((Persoon)rij.get(i)).getNaam()
等
或者更简单地说:
for(int i = 0; i < 3; i++){
Persoon p = rij.get(i);
System.out.println(p.getNaam() + " " + p.getVoornaam() + " " + p.getLeeftijd());
}
括号很重要。您确切地知道自己在转换什么以及何时转换。
关于java - ArrayList 中对象的 Getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18275582/