【发布时间】:2011-12-19 10:41:08
【问题描述】:
我有以下类和一个静态方法:
public class Helper {
public static <T extends Number & Comparable<? super Number>> Boolean inRange(T value, T minRange, T maxRange) {
// equivalent (value >= minRange && value <= maxRange)
if (value.compareTo(minRange) >= 0 && value.compareTo(maxRange) <= 0)
return true;
else
return false;
}
}
我尝试调用这个方法:
Integer value = 2;
Integer min = 3;
Integer max = 8;
Helper.inRange(value, min, max) ;
Netbeans 编译器向我显示此错误消息:
Helper 类中的方法 inRange 不能应用于给定类型; 必需:T,T,T 找到:java.lang.Integer,java.lang.Integer,java.lang.Integer 原因:推断类型不符合声明的边界 推断:java.lang.Integer 绑定:java.lang.Number,java.lang.Comparable
有什么想法吗?
谢谢。
【问题讨论】:
标签: java generics methods static call