I am learning generic methods in Java. I want to count number of elements of an array greater than a given number. Here is my code:
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));
}
}
I got error "countGreaterThan is not applicable for the arguments (Integer[],Integer)". How could I change my code?
Thanks.