我以某种频率使用ArrayUtils.add(double[], double)
。显然我有一个盲点,为什么它不在这里工作。有人可以帮忙吗?
double[] reliableNeighborValues = new double[1];
for (int j = 0; j < 8; j++) {
if (pixelInfo[j] > 0) {
System.out.println("pre add array length "+reliableNeighborValues.length);
for (int k = 0; k < reliableNeighborValues.length; k++) {
System.out.println("-- "+reliableNeighborValues[k]);
}
ArrayUtils.add(reliableNeighborValues, pixelInfo[j]);
System.out.println("reliable neighbor "+j+" "+pixelInfo[j]+" array length "+reliableNeighborValues.length);
for (int k = 0; k < reliableNeighborValues.length; k++) {
System.out.println("-- "+reliableNeighborValues[k]);
}
}
}
输出:
pre add array length 1
-- 0.0
reliable neighbor 0 5.3364882 array length 1
-- 0.0
答案 0 :(得分:12)
无法在Java中扩展数组,因此该方法会返回您当前正在丢弃的数组的更新副本。
reliableNeighborValues =
ArrayUtils.add(reliableNeighborValues, pixelInfo[j]);
与String操作函数相同。