同一类算法中的不同原始数据类型条目

时间:2013-11-10 10:10:33

标签: java polymorphism

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);
}

我想在Java中使用这样的快速排序算法,但是使用不同的输入,而不仅仅是整数数组,如第2行private int[] numbers所示。

所以这里的一般问题是,如何“发送”到算法的不同输入? 一个明显的答案是为不同的输入数据创建多个多态方法,如:

public void(int [] inArray{
   do something
}
public void (char[] inArray){
   do something else.....
} etc etc

或使用多态来多次使用不同的输入声明public void sort(int[] values),例如public void sort(char[] values)public void sort(double[] values) 但以上所有,不是很好的编程和太多的代码(多个变量的声明等:-( 所以我需要一些东西(可能是模板?)来“指示”类“接受”许多不同类型的输入并显然输出相同类型的数据......

1 个答案:

答案 0 :(得分:2)

您想使用Comparable界面

有关详细信息,请参阅此处:

http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html