首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中打印出一个列表的所有元素?

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

Stack Overflow用户
提问于 2012-04-16 10:28:18
回答 17查看 1.1M关注 0票数 274

我试图打印出List的所有元素,但是它打印的是Object的指针,而不是值。

这是我的打印代码。

代码语言:javascript
复制
for(int i=0;i<list.size();i++){
    System.out.println(list.get(i));
} 

谁能告诉我为什么它不打印元素的值。

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2012-04-16 10:43:15

下面是一些关于打印list组件的示例:

代码语言:javascript
复制
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;
    }
}
票数 127
EN

Stack Overflow用户

发布于 2012-04-16 11:30:48

以下代码紧凑,避免了示例代码中的循环(并给出了很好的逗号):

代码语言:javascript
复制
System.out.println(Arrays.toString(list.toArray()));

然而,正如其他人所指出的,如果没有为列表中的对象实现合理的toString()方法,那么您将获得正在观察的对象指针(实际上是散列代码)。无论它们是否在列表中,这都是正确的。

票数 542
EN

Stack Overflow用户

发布于 2014-06-09 03:25:56

从Java8开始,List继承了一个默认的"forEach“方法,您可以将该方法与方法引用"System.out::println”结合使用,如下所示:

代码语言:javascript
复制
list.forEach(System.out::println);
票数 124
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10168066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档