2012-12-06 99 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) 
相關問題