那你就写成
Comparator<T> []
就行了
然后调用 接口里面的 compare 方法判断大小进行排序 代替你代码里面的那个less
最终使用的时候,也就是生成
Comparator<T> []
数组时候,需要指定具体的类型
此时这个 具体的类需要实现 Comparator 接口也就是实现 compare 方法使用什么标准来判断大小
例如
这个代码只是数字排列的,泛型排序需要实现Comparable接口,也可以用Collections集合工具
首先,要理清楚你代码的思路,按你上面写的代码的意思应该是想排序各种基本类型的数组,但你的方法参数是Comparable接口的数组,
也就是说你传入的数据的数据类型必须是已经implements Comparable接口的类型,显然,基本类型并不是类,所以是类型不对应。
正确的思路应该是:
第一,我需要排序一个数组(元素类型任意)
第二,排序的规则如何确定(比如我是想正序还是倒序,还是需要根据特定的某个属性来排序(针对对象的排序))
所以,按这个思路。sort的参数应该是两个,第一个就是你需要传入的数组,第二个就是排序的算法(暂且这么叫)。
可以直接使用Collections.sort方法了,或者你可以参考此方法的思路写自己的。
实现comparable本质就是定义一个比较的标准,将哪一个值作为比较的标准,然后根据结果返回不同的;实现接口之后,就可以直接用sort对这个对象进行排序了