2012-11-02 82 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 

}