Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表一直显示空值_Java_Arraylist - Fatal编程技术网

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
而不是原始类型。谢谢。我会记住这一点。感谢您的指导。上面已经提供了相同的答案。这里面有什么新鲜事?