我注意到在子数组上使用Java Arrays.sort()时的奇怪行为。这是一个演示程序。这是Java中的一个bug吗?
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: %sn", Arrays.toString(A));
Arrays.sort(A, 0, 1);
System.out.format(" after sub array sort on A: %sn", Arrays.toString(A));
System.out.println("Should be A: [2, 3, 1]");
Arrays.sort(A);
System.out.format(" whole array sort on A: %sn", Arrays.toString(A));
}
}
From Javadoc
fromIndex -第一个元素的索引,包括要排序的
toIndex -要排序的最后一个元素不包含的索引
第二个索引(toIndex
)不包含在要排序的范围内。
那么,在你的例子中
Arrays.sort(A, 0, 1);
你只排序数组的元素[0],它不做任何事情。