Java toString() 未打印正确的变量

标签 java tostring println

我在 Java 中有一个这样的类:

public class Wrapper {
    public static List<Type> 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;
    }
}

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

最佳答案

在您的 Type 类中,您将 name 标记为 static,因此在打印 type.toString() 时你总是只有一个值。 如果您想打印列表中的所有成员,请使用:

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

关于Java toString() 未打印正确的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34035026/

相关文章:

javascript - jquery 中的 toString 方法?或类似的东西

java - system.out.println 必须在 edt 上吗?

java - 浏览器语言环境为日语

java - 我应该用什么代替 FlowLayout()?

java - Spring自定义auth过滤器和自定义jwtfilter

java - 通用构造函数 (Class<T> clazz) 不支持 T,其中 T 是另一个泛型

java - 如何覆盖所有枚举类的 toString() 方法?

c# - 如何将 StackFrame 集合转换为字符串?

java - 无法使用 PDFBox 在 Java 中正确打印 pdf 文件中的非英语(拉脱维亚语)字符?

java - 我的控制台说它终止了一个文件,但它从未在控制台中写入我需要的单词