2

いくつかのアクションに対して許可されたキーを定義するために set を使用しています。Eclipse は次の警告を表示します。

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

3 に答える 3

3

Set<?>orは、Set<Object>既存のコードで動作させる必要がある場合にのみ使用してください。それ以外の場合は、代わりに特定のタイプを作成しようとしています。

Stringセットに要素のみが含まれていることが確実な場合Set<String>は、 が最良の選択です。

于 2016-09-14T09:27:15.923 に答える