Java 为什么我会犯错误;二进制运算符“的操作数类型错误”;用我的方法? 公共类t{ 私有ArrayList a=新ArrayList(); 公共无效添加(T x){ a、 加(x); } 公营部门{ T大=a.get(0); 整数计数=1; while(a.get(count)!=null){ 如果(a.get(count)>large) 大=a.get(计数); 计数++; } 回报大; } 公共交通{ T小=a.get(0); 整数计数=1; while(a.get(count)!=null){ 如果(a.get(count)
Java 为什么我会犯错误;二进制运算符“的操作数类型错误”;用我的方法? 公共类t{ 私有ArrayList a=新ArrayList(); 公共无效添加(T x){ a、 加(x); } 公营部门{ T大=a.get(0); 整数计数=1; while(a.get(count)!=null){ 如果(a.get(count)>large) 大=a.get(计数); 计数++; } 回报大; } 公共交通{ T小=a.get(0); 整数计数=1; while(a.get(count)!=null){ 如果(a.get(count),java,generics,arraylist,operators,operands,Java,Generics,Arraylist,Operators,Operands,a.get(int)不能转换为基本数字类型(通常是Number,不能自动取消装箱),则不能使用 您需要提供一个显式的比较器(或者更一般地说,比较器 public class t<T extends Number>{ private ArrayList<T> a = new ArrayList<T>(); public void add(T x){ a.add(x); } public T largest(){ T large = a.get(
a.get(int)
不能转换为基本数字类型(通常是Number
,不能自动取消装箱),则不能使用
您需要提供一个显式的比较器
(或者更一般地说,比较器
public class t<T extends Number>{
private ArrayList<T> a = new ArrayList<T>();
public void add(T x){
a.add(x);
}
public T largest(){
T large = a.get(0);
int count = 1;
while(a.get(count)!=null){
if(a.get(count)>large)
large = a.get(count);
count++;
}
return large;
}
public T smallest(){
T small = a.get(0);
int count = 1;
while(a.get(count)!=null){
if(a.get(count)<small)
small = a.get(count);
count++;
}
return small;
}
public class t<T extends Number>{
private Comparator<? super T> comparator;
t(Comparator<? super T> comparator) {
this.comparator = comparator;
}
public T largest(){
// ...
if (comparator.compare(a.get(count), large) > 0) {
// ...
}
// ...
}
}