Java 同一类算法中的不同基元数据类型条目
我想在Java中使用这样的快速排序算法,但输入不同,而不仅仅是第2行Java 同一类算法中的不同基元数据类型条目,java,polymorphism,Java,Polymorphism,我想在Java中使用这样的快速排序算法,但输入不同,而不仅仅是第2行private int[]numbers中描述的整数数组 所以这里的一般问题是,如何“发送”给算法不同的输入? 一个显而易见的答案是为不同的输入数据创建多个多态方法,如下所示: public class Quicksort{ private int[] numbers; private int number; public void sort(int[] values) {// check for empty or null a
private int[]numbers
中描述的整数数组
所以这里的一般问题是,如何“发送”给算法不同的输入?
一个显而易见的答案是为不同的输入数据创建多个多态方法,如下所示:
public class Quicksort{
private int[] numbers;
private int number;
public void sort(int[] values) {// check for empty or null array
if (values ==null || values.length==0){
return;
}
this.numbers = values;
number = values.length;
quicksort(0, number - 1);
}
或者使用多态性以不同的输入多次声明公共无效排序(int[]值)
,例如公共无效排序(char[]值)
,公共无效排序(double[]值)
但以上所有内容都不是很好的编程和太多的代码(多变量声明等:-(
因此,我需要一些东西(可能是模板?)来“指示”类“接受”许多不同类型的输入,并显然输出相同类型的数据…您想使用
Comparable
界面吗
有关更多信息,请参见此处:
您可能想查看可比较的接口;不幸的是,这就是生活:如果不是一系列原语,您可以使用泛型,但是按照泛型在Java中“实现”的方式,重复代码是您唯一的选择。我最终重复了代码。不优雅,但“这就是生活”…-)
public void(int [] inArray{
do something
}
public void (char[] inArray){
do something else.....
} etc etc