【问题标题】:How to add an item to an array of array list如何将项目添加到数组列表的数组中
【发布时间】:2015-01-02 14:18:09
【问题描述】:

我正在尝试将字符串添加到数组列表的数组中。

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
    test[0].add("Hello World!");

上面的代码执行时,会抛出空指针异常。任何想法如何工作?

【问题讨论】:

    标签: java


    【解决方案1】:

    您的代码是空指针,因为数组“test”仅包含 ArrayList 类型的空引用。您的构造仅创建数组存储,而不是列表存储。理解这一点很重要,并且对于任何对象数组(或集合的集合)都是一样的。

    例如以下将包含 3 个单元格,所有单元格都包含 null。

    Integer[] foo new Integer[3]
    

    您需要先实例化一个列表,然后才能添加。

    ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
    
    test[0] = new ArrayList<String>();
    test[0].add("Hello World!");
    

    【讨论】:

      【解决方案2】:

      用于创建 ArrayList 的数组。您必须执行以下操作

      ArrayList[] test =  new ArrayList[2];// create array with all elements null
          for(int i=0; i<2;i++)
          {
              test[i] = new ArrayList<String>(); // initialize each element with ArrayList object
          }
          test[0].add("Hello World!");
      

      【讨论】:

        【解决方案3】:

        你使用了错误的语法

        它应该像这样工作

        ArrayList<String>[] arrayList = new ArrayList[2];
        arrayList[0] = new ArrayList<String>();
        arrayList[0].add("Hello World");
        

        【讨论】:

        • 问题是创建arrayList数组
        【解决方案4】:

        每次尝试添加到列表时都应该创建一个新数组,

        String[] test= new String[2];    
        ArrayList<String[]> test= new ArrayList<String[]>();    
        t2[0]="0";
        t2[1]="0";
        test.add(t2); 
        

        在上面的示例中,您将 test 数组对象的引用传递给列表。在每个 .add() 方法上

        或者同样的事情也可以用下面的方式在一个语句中完成,

        ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
        test.add(new String[] {"0", "0"});
        

        更新

        如果你想创建 arraylist 的数组,请看这里,

        Create an Array of Arraylists

        【讨论】:

        • 问题不是[]不是
        猜你喜欢
        • 1970-01-01
        • 2015-06-12
        • 2022-06-29
        • 1970-01-01
        • 2021-11-17
        • 2014-03-13
        • 1970-01-01
        • 2011-07-01
        • 2021-11-04
        相关资源
        最近更新 更多