私は次のセットアップがあります未確認のキャストの警告時にクラスに基づくリターン一般的な実装<>引数
@Override
public <T> Optional<EndpointProvider<T>> getProvider(Class<T> providedClass) {
if(providedClass.isAssignableFrom(RecommendationCategory.class)){
return Optional.of((EndpointProvider<T>) new RecommendationCategoryProvider());
}
return Optional.empty();
}
private class RecommendationCategoryProvider implements EndpointProvider<RecommendationCategory> {
をし、コンパイラは私に未チェックのキャストの警告を与えています。私は、provideClass.isAssignableFrom(RecommendationCategory.class)をチェックすると、チェックされていないキャストの警告を防ぐことができると思います。
この設定でこの警告を表示しない方法はありますか?
時には、コンパイラは警告が表示されます。警告が表示されていれば、よりよく分かります。完璧な世界では、あなたの頭(または開発時間)を失うことは何もありません。 しかし、この場合、基本クラスに対してコンポーネントのタイプを確認する必要があると思います。あなたがすでにそれをやっているなら、この場合はコンパイラよりもスマートです。 – Rogue
警告を無視するようにコンパイラに指示するには、[@ SuedressWarnings( "unchecked")](https://docs.oracle.com/javase/8/docs/api/java/lang/SuppressWarnings.html)を使用します。 – McDowell