为什么ArrayUtils.add没有在这里添加元素

时间:2012-10-29 11:52:25

标签: java apache-commons apache-commons-lang

我以某种频率使用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

1 个答案:

答案 0 :(得分:12)

无法在Java中扩展数组,因此该方法会返回您当前正在丢弃的数组的更新副本。

  reliableNeighborValues = 
     ArrayUtils.add(reliableNeighborValues, pixelInfo[j]);

与String操作函数相同。