【发布时间】:2017-10-07 19:35:25
【问题描述】:
我想对作为参数接收的List<MyType> 进行排序:
static void doSomething(List<MyType> arg) {
Collections.sort(arg);
}
...但我收到此警告:
Unchecked method 'sort(List<T>)' invocation
这里是MyType:
class MyType implements Comparable {
private int number;
public MyType(int n) {
number = n;
}
public int compareTo(MyType b) {
return Integer.compare(number, b.number);
}
}
我可以取消这个警告,但我想知道我做错了什么。
【问题讨论】:
-
您的示例代码似乎与警告不符。请显示确切的代码。
-
你应该写一个minimal reproducible example来重现问题。
-
这很可能是因为
MyType没有使用通用的Comparable<MyType>。所以要删除警告,只需实现通用的Comparable接口。 -
这是引发警告的确切代码,
MyType和doSomething已重命名。不知道如何使它更“最小”,但为了完整性,我将添加 MyType 的实现。
标签: java compiler-warnings unchecked