在 Java 中,我将如何使用泛型创建一个 max 函数,该函数将两个相同类型的 Comparable 对象作为参数并返回较大的一个?
我试过了:
public static <T extends Comparable> T max(T obj1, T obj2)
{
return ( ((obj1).compareTo(obj2) >= 0) ? obj1 : obj2);
}
(如果它们相等,则返回 obj1。)
该方法基于我在http://www.informit.com/articles/article.aspx?p=170176&seqNum=3找到的代码。
但是,当我编译它时,我收到此警告(使用 -Xlint:unchecked 编译):warning: [unchecked] unchecked call to compareTo(T) as a member of raw type java.lang.Comparable