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

型のsworkersを生成するように定義されている限り、型キャストが必要になります。異なるタイプのが含まれている可能性があるため、コンパイラはこれについて警告します(表示されていませんが、タイプではないと想定しています)。Worker?workersWorkerworkersT

(短いバージョン:instanceofジェネリックを許可しないチェックを使用しても、できません)

于 2013-02-18T12:41:55.930 に答える