Tôi đã sau lớp học với một phương pháp tĩnh:static <T mở rộng Số & So sánh <? siêu Số >>
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;
}
}
tôi cố gắng gọi phương pháp này:
Integer value = 2;
Integer min = 3;
Integer max = 8;
Helper.inRange(value, min, max) ;
Netbeans trình biên dịch cho tôi thông báo lỗi này:
Phương thức inRange trong lớp Trình trợ giúp không thể áp dụng cho các kiểu đã cho; Yêu cầu : T, T, T được tìm thấy: java.lang.Integer, java.lang.Integer, java.lang.Integer lý do: loại suy ra không tuân theo (các) ràng buộc được khai báo suy luận: java.lang.Integer (các) liên kết: java.lang.Number, java.lang.Comparable
Bất kỳ ý tưởng nào?
cảm ơn.
cảm ơn bạn rất nhiều, nó hoạt động :) và cũng nhờ lời giải thích! – misco
để có kết quả tốt nhất, sử dụng '>' –
newacct