我正尝试如下将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 [])**
我正在犯一个愚蠢的错误,但不能指责它。我在这里想念什么?
答案 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
,请注意必须先创建数组,然后才能将其添加到集合中