当前位置:  开发笔记 > 编程语言 > 正文

Java toString()没有打印正确的变量

如何解决《JavatoString()没有打印正确的变量》经验,为你挑选了1个好方法。

我在Java中有这样的类:

public class Wrapper {
    public static List list;

    @Override
    public String toString() {
        return "List: " + this.list;
    }

    public static void main(String[] args) {
        Wrapper w = new Wrapper();
        System.out.println(w);
    }
}

和这样的一个类:

public class Type {
    private static String name;

    public Type(String n) {
        this.name = n;
    }

    @Override
    public String toString() {
        return this.name;
    }
}

我得到了数组中每个项目的最后一项的名称,而不是获取每个项目的名称.有什么建议?



1> 小智..:

在您的Type班级中,您在打印时标记为您name,static因此在打印type.toString()时始终只有一个值.如果要打印列表中的所有成员,请使用:

for(Type t : list){
   System.out.print(t.toString());
}


+1.请注意,好的IDE和编译器会对此代码发出警告,因为当`name`是静态时,`this.name`会产生误导.
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有