用Java复制数组

时间:2017-04-10 14:09:49

标签: java arrays copy

为什么要复制的范围不包括最终索引处的数组元素?

示例:

class ArrayCopyOfDemo {
    public static void main(String[] args) {  

        char[] copyFrom = {'d', 'e', 'c', 'a', 'f', 'f', 'e',
            'i', 'n', 'a', 't', 'e', 'd'};

        char[] copyTo = java.util.Arrays.copyOfRange(copyFrom, 2, 9);

        System.out.println(new String(copyTo));
    }
}

结果:"咖啡因"

(要复制的范围不包括索引9处的数组元素(包含字符a)。

来源:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

非常感谢您的回答!

2 个答案:

答案 0 :(得分:4)

来自Arrays.copyOfRange javadoc:

 * @param from the initial index of the range to be copied, inclusive
 * @param to the final index of the range to be copied, exclusive.

答案 1 :(得分:0)

Arrays.copyOfRange方法将从(i,j-1)复制。你的行应该是

char[] copyTo = java.util.Arrays.copyOfRange(copyFrom, 2, 10);

包括最后一个角色。