一尘不染

如何在Java中打印出列表的所有元素?

java

我正在尝试打印a的所有元素List,但是它打印的是指针Object而不是值。

这是我的打印代码…

for(int i=0;i<list.size();i++){
    System.out.println(list.get(i));
} 

任何人都可以帮助我,为什么它没有体现出要素的价值。


阅读 939

收藏
2020-03-18

共3个答案

一尘不染

这是有关打印出列表组件的一些示例:

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;
}

}

2020-03-18
一尘不染

从Java 8开始,List继承了默认的“ forEach”方法,你可以将其与方法引用“ System.out :: println”结合使用,如下所示:

list.forEach(System.out::println);
2020-03-18
一尘不染

以下是紧凑的,并且避免了示例代码中的循环(并为你提供了漂亮的逗号):

System.out.println(Arrays.toString(list.toArray()));

但是,正如其他人指出的那样,如果你没有为列表内的对象实现明智的toString()方法,则将获得要观察的对象指针(实际上是哈希码)。无论他们是否在列表中,都是如此。

2020-03-18