私はいくつかのアクションのために許可されたキーを定義するためにsetを使用しています。 Eclipseのこの警告を示しています型の安全性:List型の式では、Collection <?に適合するように未確認の変換が必要です。 extends Object>
Type safety: The expression of type List needs unchecked conversion
to conform to Collection<? extends Object>
私は少しググと若干異なる場合も同じメッセージが、そのおそらく同様の問題を発見しました。
万が一この警告他の方法を取り除く、その後
@SuppressWarnings("unchecked")
ですが、この場合に
@SuppressWarnings("unchecked")
を使用することをお勧めしますか?ここで
は私のコードです:
public static final String KEY_A = "A_VALUE";
public static final String KEY_B = "B_VALUE";
public static final Set<?> allowedKeys = new HashSet<Object>(Arrays.asList(new String[] {KEY_A, KEY_B}));
なぜ 'Set'と 'HashSet 'を使用しないのですか? –
Eran
@エランそれは本当にどんなタイプでもないと思う。私はそれを呼び出します allowedKeys.contains(key)。 それとの間に有用な違いがありますか? ところで、あなたが尋ねたように書くと、警告メッセージが表示される状況は変わりません。 – user1097772
あなたのエラーは_exactly_のどの表現ですか? 'List'の生の型から' Collection > 'に変換する場所は表示されていません。 –