如何解决“原始使用参数化 class 'Comparable'”警告?
How to resolve `Raw use of parameterized class 'Comparable'` warning?
必须为主题为 "WildCards" 的作业实施以下方法,但不知道在哪里使用通配符来解决警告。
static <T extends Comparable> T findMax(T ... items)
{
T max = items[0];
for (T item : items)
if (item.compareTo(max) > 0)
max = item;
return max;
}
有什么想法吗?
Comparable
是一个通用接口,因此要安全地使用它,您必须始终指定要使用的通用类型。在您的情况下,类似于:
<T extends Comparable<T>>
可能就是您要找的。否则,编译器无法帮助您验证类型是否在所有场景中都兼容。
必须为主题为 "WildCards" 的作业实施以下方法,但不知道在哪里使用通配符来解决警告。
static <T extends Comparable> T findMax(T ... items)
{
T max = items[0];
for (T item : items)
if (item.compareTo(max) > 0)
max = item;
return max;
}
有什么想法吗?
Comparable
是一个通用接口,因此要安全地使用它,您必须始终指定要使用的通用类型。在您的情况下,类似于:
<T extends Comparable<T>>
可能就是您要找的。否则,编译器无法帮助您验证类型是否在所有场景中都兼容。