2012-11-02 81 views
1

不同數據類型的數組列表我有一個類:無法打印用java

sample.java

class sample 

int val; 
String str; 

構造

sample(String str,int val) 

str=this.str; 

val=this.val 

test.java

ArrayList<sample> lst=new ArrayList<sample>(); 

lst.add(new sample("somedata",33)): 

lst.add(new sample("somedata",33)): 

send(lst)發送arraylist obj在網絡上,但我想知道如何在arraylist中打印值。我嘗試使用迭代器,但它只顯示對象引用。

回答

4

覆蓋您的sample類中的toString方法。你可以使用:

@Override 
public String toString() { 
    return "str=" + str + " val=" + val; 
} 
2

覆蓋的toString()方法在

public String toString(){ 
return str+"," + value; 
} 

Iterator<Sample> itr = lst.iterator(); 
while(itr.hasNext()){ 
system.out.println(itr.next().toString()); 
} 
3

這個問題最簡單的辦法:執行toString方法對你sample類:

@Override 
public String toString() { 
    return str + ", " + val; 
} 

然後你會得到每個實例的字段值。

否則:從循環進入字段:

for (sample s:lst) { 
    System.out.println(s.str + ", " + s.val); 
} 
0

實現的toString,你會被罰款,如果你想要的是剛剛打印的對象。

1

請使用以大寫字母開頭的類名。另外你的構造函數是錯誤的,它應該是

sample(String str,int val) { 

this.str=str; 

this.val=val 

}