将int值添加到int的ArrayList中

时间:2019-10-24 15:08:34

标签: java arraylist

我正尝试如下将int值添加到int[]

 private ArrayList<int []> read_studioConfig(byte[] buf, int boundary, int offset, int num){

    ArrayList<int []> configs_values = new ArrayList<int[]>();

    int readValues = 0;

    int idx = offset;
    for (int i = 0 ;i < num; i++){
         while(idx < boundary && buf[idx] != 0){
             readValues = i;
             idx ++;
         }
         idx ++;

        configs_values.add(readValues);
    }

    return configs_values;
};

但是我做不到。我收到以下错误。

  

错误:找不到适合add(int)的方法   方法Collection.add(int [])不适用   (参数不匹配; int无法转换为int [])方法List.add(int [])不适用(参数不匹配; int无法转换为int [])**

我正在犯一个愚蠢的错误,但不能指责它。我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

首先,您要创建一个Date 0 1983-02-07 1 1989-10-07 2 1969-10-28 3 1967-02-25 4 1982-07-21 Date Difference 0 1983-02-07 36 1 1989-10-07 30 2 1969-10-28 49 3 1967-02-25 52 4 1982-07-21 37 的整数数组,所以这就是您的代码失败的原因。

我不确定由于代码太脏而为什么要尝试这样做,但是这里有我的建议:

使用List而不是List<Integer> configsValue = new ArrayList(),使用接口而不是实现。另外,即使您甚至不需要保持直接访问权限,我也建议您使用ArrayList<int[]>代替LinkedList,因为添加新元素的复杂度是O(1)对O(n)< / p>

然后您的代码将起作用,否则,如果您想返回ArrayList,请注意必须先创建数组,然后才能将其添加到集合中

相关问题