-4

在子数组上使用 Java Arrays.sort() 时,我注意到了奇怪的行为。这是一个演示程序。这是Java中的错误吗?

package sorted_subsegments;

import java.util.Arrays;

public class sortTest {
    public static void main(String[] args) {
        int A[] = {3, 2, 1};
        System.out.format("A: %s\n", Arrays.toString(A));
        Arrays.sort(A, 0, 1);
        System.out.format(" after sub array sort on A: %s\n", Arrays.toString(A));
        System.out.println("Should be A: [2, 3, 1]");
        Arrays.sort(A);
        System.out.format(" whole array sort on A: %s\n", Arrays.toString(A));
    }
}
4

1 回答 1

6

来自 Javadoc

fromIndex - 要排序的第一个元素(含)的索引

toIndex - 最后一个元素的索引,排他性,要排序

第二个索引 ( toIndex) 不包括在要排序的范围内。

所以,在你的例子中

Arrays.sort(A, 0, 1);

您只对数组的元素 [0] 进行排序,它什么都不做。

于 2016-06-24T08:21:41.883 回答