2012-12-06 100 views
2

我得到了一个包含两个字母和一个数字的数组列表。我需要显示它,例如“ab1”。但每次我得到了一些ArrayList的代码打印行:“[email protected]将arraylist字符项返回字符串我可以用来打印输出

这是我的数组列表: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); 
} 

回答

1

覆盖toString()在您的信类,默认情况下对象的toString()将被调用

@override 
public String toString() { 
     return ""+ch1+ch2+number 
    } 

其中CH1,CH2是在你的信类的字符属性和数量是一个int属性

+0

非常感谢它的工作! – DaViDa

+0

@DaViDa欢迎您,如果您接受其中一个答案,它会很棒:) – PermGenError

1

您必须覆盖你的toString()方法的LetterCijfer类。

事情是这样的:

@Override 
public String toString() 
{ 
    return String.valueOf(mijnLetter); 
} 

但更好的方法是一个getter(getLetter()),代替了toString。

1

你必须要么重写ToString()打印使用的字母或代替:

letterlijst.get(0) 

使用这样的事情:

letterlijst.get(0).getLetter() // return letter1 of setLetter(letter1) 
相关问题