我得到了一个包含两个字母和一个数字的arraylist。我需要显示它,例如“ab1”。但每当我得到一个带有一些arraylist代码的printline:“pp4main.Letter@f7e6a96pp4”
这是我的数组列表:ArrayList<Letter> letterlijst = new ArrayList<Letter>();
我的代码试图显示:
public Kofferslot(char letter1, char letter2, int cijfer){
Letter letterlijst1 = new Letter();
letterlijst1.setLetter(letter1);
Letter letterlijst2 = new Letter();
letterlijst1.setLetter(letter2);
letterlijst.add(letterlijst1);
letterlijst.add(letterlijst2);
Cijfer cijfer3 = new Cijfer();
cijfer3.setCijfer(cijfer);
String letterstring1 = letterlijst.get(0).toString();
String letterstring2 = letterlijst.get(1).toString();
System.out.println(letterstring1 + letterstring2 + cijfer3);
}
答案 0 :(得分:1)
您必须覆盖toString()
和Letter
类的Cijfer
方法。
这样的事情:
@Override
public String toString()
{
return String.valueOf(mijnLetter);
}
但更好的方法是使用getter(getLetter()
)而不是toString。
答案 1 :(得分:1)
在Letter类中覆盖toString()
,默认情况下将调用Object的toString()
@override
public String toString() {
return ""+ch1+ch2+number
}
其中ch1,ch2是Letter类中的char属性,number是int属性
答案 2 :(得分:1)
你必须覆盖toString()来打印字母,而不是使用:
letterlijst.get(0)
使用类似的东西:
letterlijst.get(0).getLetter() // return letter1 of setLetter(letter1)