无法使用java打印不同数据类型的arraylist

时间:2012-11-02 22:41:06

标签: java arraylist

我有一个班级:

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)):

发送(lst)通过网络发送arraylist obj。但我想知道如何在arraylist中打印值。我尝试使用迭代器,但它只显示对象引用。

5 个答案:

答案 0 :(得分:4)

覆盖toString课程中的sample方法。你可以使用:

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

答案 1 :(得分:3)

解决此问题的最简单方法:在toString类上实施sample方法:

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

然后你会得到每个实例的字段值。

否则:从循环中访问字段:

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

答案 2 :(得分:2)

覆盖类中的 toString()方法

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

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

答案 3 :(得分:1)

请使用以大写字母开头的类名。你的构造函数也是错的,它应该是

sample(String str,int val) {

this.str=str;

this.val=val

}

答案 4 :(得分:0)

实现toString,如果你想要的只是打印对象,你会没事的。