定义一个通用接口,方法返回值是范型
/**
* @author lmk
* @创建时间 2016-9-6 下午3:36:10
* @描述 TODO
*
* @svn提交者:$Author$
* @提交时间: $Date$
* @当前版本: $Rev$
*/
public interface SortInterface {
// 冒泡排序
public <T extends Comparable<T>> T[] BubbleSort(T[] datas);
}
/**
* @author lmk
* @创建时间 2016-9-6 下午12:25:50
* @描述 TODO
*
* @svn提交者:$Author$
* @提交时间: $Date$
* @当前版本: $Rev$
*/
public class SortUtils implements SortInterface{
private SortUtils() {
throw new AssertionError();
}
//冒泡排序
@Override
public <T extends Comparable<T>> T[] BubbleSort(T[] datas) {
for(int i=0;i<datas.length-1;i++){
for(int j=0;j<datas.length-1-i;j++){
//大于0就是小-》大
if(datas[j].compareTo(datas[j+1])>0){
T temp = datas[j];
datas[j] = datas[j + 1];
datas[j + 1] = temp;
}
}
}
return datas;
}
}
测试(ps:要用包装类,不能用int,因为范型放的是类,而int是基本类型):
public static void main(String[] args) {
Integer[] datas=BubbleSort(new Integer[]{9,10,7,5});
// 遍历:
for (Integer i : datas) {
System.out.println(i);
}
}