ここに未チェックや危険な運転は何ですか?
-
19-09-2019 - |
質問
私は、次のコードを持っています:
private static final Set<String> allowedParameters;
static {
Set<String> tmpSet = new HashSet();
tmpSet.add("aaa");
allowedParameters = Collections.unmodifiableSet(tmpSet);
}
そして、それが原因ます:
Note: mygame/Game.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
そして、私が提案オプションを指定して再コンパイルするとき、私はポインタ(^)を参照してくださいHashSet();
の前で「新しい」を指します。
誰もがここで何が起こっているか知っていますか?
解決
はい、あなたはそれが含まれている必要がありますどのようなクラスを伝えることなく、新しいHashSetのを作成し、それが文字列が含まれていることを主張しています。
に変更し Set<String> tmpSet = new HashSet<String>();
他のヒント
ジェネリック - あなたは新しいJ2SE 1.5の機能をサポートするクラスを使用しているとき、
これらのメッセージが発生します。あなたが明示的にコレクションのコンテンツのタイプを指定しないときは、それらを取得します。
例
List l = new ArrayList();
list.add("String");
list.add(55);
あなたがして、メッセージを取り除くことができ、単一のデータ・タイプのコレクションを持っているしたい場合:
List<String> l = new ArrayList<String>();
list.add("String");
あなたがコレクション一度に複数のデータ型を配置する必要がある場合は、あなたが実行します。
List<Object> l = new ArrayList<Object>();
list.add("String");
list.add(55);
あなたは-Xlintを追加する場合は、:あなたは、問題についての具体的な詳細を取得し、コンパイラにパラメータをオフに
。詳細については、こちらを参照してください: http://forums.sun.com/thread .jspa?スレッドID = 584311 の
所属していません StackOverflow