Integer[] arr={2,3,1,5,6};Arrays.sort(arr, new Comparator<Integer>() {@Override public int compare(Integer o1, Integer o2) {return 0;}});这段代码中为什么Arrays一调用sort方法就能执行匿名内部类中的排序规则呢
时间: 2024-03-18 21:45:57 浏览: 56
数组Array的排序sort方法
这是因为`Arrays.sort()`方法接收一个`Comparator`对象作为其第二个参数,这个`Comparator`对象是用来比较数组元素的。在这个例子中,我们使用了一个匿名内部类来创建一个`Comparator`对象,并覆盖了`compare`方法,这个方法定义了两个参数`o1`和`o2`的比较规则。当我们调用`Arrays.sort(arr, new Comparator<Integer>() {...})`时,`sort`方法会按照`Comparator`对象的比较规则对数组进行排序。因此,我们可以在匿名内部类中定义任何我们想要的比较规则,以实现自定义的排序。
阅读全文