我正在學習Java中的泛型方法。我想計算一個數組的元素數大於給定數。這裏是我的代碼:需要幫助進行通用比較方法
public class GenericMethodExample {
public interface Comparable<T>{
public int compareTo(T o);
}
public static <T extends Comparable<T>> int countGreaterThan(T[] list, T element){
int count = 0;
for(T e:list){
if (e.compareTo(element)>0){
++count;
}
}
return count;
}
public static void main(String[] args){
Integer[] intArray = {5 ,10,8,1,0,3};
Integer u = new Integer(5);
System.out.print("Number of elements are greater than "+ u.toString()+" is:");
System.out.print(countGreaterThan(intArray,u));
}
}
我遇到錯誤「countGreaterThan是不適用的參數(整數[],整數)」。我怎麼能改變我的代碼?
謝謝。
爲什麼你需要在你的類中定義的Comparable接口?在java API中已經有一個 – sidgate
除了你的實際問題,而不是新的整數(5),使用Integer.valueOf(5)。 http://stackoverflow.com/questions/2974561/new-integer-vs-valueof – atom