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

Java toString() not printing the correct variable

我在 Java 中有这样一个 class:

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

和这样的 class:

public class Type {
    private static String name;

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

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

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

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

for(Type t : list){
   System.out.print(t.toString());
}
@Override
public String toString() {
    String s = "";
    for(Type t : list) {
        s += t;
    }
    return s;
}