我一直认为任何数组类型都像是一个不同的类,但似乎任何引用类型数组也被视为 Object[] 的对象及其父类(super class)的数组形式。 (这完全正确吗?)
考虑以下数组
Integer[] numbers = { 20, 15, 10, 5 };
当我将此数组传递给需要 Object[] 值的 Arrays.sort 时,它工作正常。但是 Object 没有任何比较方法,它怎么知道要使用哪种比较方法?
最佳答案
Integer
工具 Comparable<Integer>
它定义了整数的自然排序。打电话sort
没有 Comparator
依赖数组的元素来实现Comparable
,并使用 compareTo
该接口(interface)的方法。
关于Java 数组和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30346154/