我试图打印出List
的所有元素,但是它打印的是Object
的指针,而不是值。
这是我的打印代码。
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
谁能告诉我为什么它不打印元素的值。
发布于 2012-04-16 10:43:15
下面是一些关于打印list组件的示例:
public class ListExample {
public static void main(String[] args) {
List<Model> models = new ArrayList<>();
// TODO: First create your model and add to models ArrayList, to prevent NullPointerException for trying this example
// Print the name from the list....
for(Model model : models) {
System.out.println(model.getName());
}
// Or like this...
for(int i = 0; i < models.size(); i++) {
System.out.println(models.get(i).getName());
}
}
}
class Model {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
发布于 2012-04-16 11:30:48
以下代码紧凑,避免了示例代码中的循环(并给出了很好的逗号):
System.out.println(Arrays.toString(list.toArray()));
然而,正如其他人所指出的,如果没有为列表中的对象实现合理的toString()方法,那么您将获得正在观察的对象指针(实际上是散列代码)。无论它们是否在列表中,这都是正确的。
发布于 2014-06-09 03:25:56
从Java8开始,List继承了一个默认的"forEach“方法,您可以将该方法与方法引用"System.out::println”结合使用,如下所示:
list.forEach(System.out::println);
https://stackoverflow.com/questions/10168066
复制相似问题