1

如何在这种方法中摆脱 @SuppressWarnings("unchecked") ?

@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;
}
4

1 回答 1

5

只要workers定义为 yieldWorker类型?,您就只需要类型转换。编译器正确地警告您这一点,因为它workers可能包含Worker不同类型的 a (虽然workers没有显示,我假设它不是 type T)。

(短版:你不能,即使是instanceof支票,也不允许泛型)

于 2013-02-18T12:41:55.930 回答