如何在此方法中摆脱@SuppressWarnings("未选中")?
@SuppressWarnings("unchecked")
public <T> Worker<T> findSimilarWorker(Worker<T> worker) {
// The variable workers is a Set<Worker<?>>
for(Worker<?> w : workers) {
// The following line is unchecked cast
if(w.isSimilar(worker)) return (Worker<T>) w;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
只要workers定义为Worker生成类型的s ?,您只需要进行类型转换.编译器正确地警告你这个,因为workers可能包含一个Worker不同的类型(虽然workers没有显示,我假设它不是类型T).
(简短版本:你不能,甚至没有instanceof支票,不允许使用仿制药)