Java 列表一直显示空值
我有一个Java 列表一直显示空值,java,arraylist,Java,Arraylist,我有一个列表对象,它使用数组列表来存储字符串对象。当我试图在main方法中使用list.add(“a”)时,它显示为null。当我使用System.out.println(list.toString())时,我做错了什么 class List { //Instance variables private String data; private ArrayList list; //Constructor public List
列表
对象,它使用数组列表
来存储字符串
对象。当我试图在main方法中使用list.add(“a”)
时,它显示为null。当我使用System.out.println(list.toString())
时,我做错了什么
class List
{
//Instance variables
private String data;
private ArrayList list;
//Constructor
public List()
{
this.list = new ArrayList();
}
public void add(String data)
{
list.add(data);
}
public String toString()
{
return data;
}
}
您不需要类中的
数据成员,因为您将数据存储在列表中。由于您不使用该成员,is将保持null
,并且您将在toString
方法中返回该null
将toString
方法更改为返回ArrayList
的String
表示形式:
public String toString()
{
return list.toString();
}
另外,最好重命名您的类,因为List
可能会隐藏java.util.List
(即使您似乎没有使用java.util.List
,但最好不要重复使用标准JDK类/接口名)。将tostring()方法更改为
public String toString()
{
return list.toString();
}
使用另一个名称而不是列表,因为列表是内置类。您应该使用ArrayList
而不是原始类型。谢谢。我会记住这一点。感谢您的指导。上面已经提供了相同的答案。这里面有什么新鲜事?