1. ホーム
  2. java

[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?

2022-02-24 10:15:22

質問

例えば

javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

解決方法は?

これは、Java 5以降で、型指定子なしでコレクションを使用している場合に出てきます(例. Arraylist() の代わりに ArrayList<String>() ). これは、コンパイラが、コレクションを型安全な方法で使用していることをチェックできないことを意味します。 ジェネリックス .

この警告をなくすには、コレクションに格納するオブジェクトの種類を具体的に指定すればよい。 つまり、代わりに

List myList = new ArrayList();

使用

List<String> myList = new ArrayList<String>();


Java 7 では、ジェネリックのインスタンス化を短縮するために 型推論 .

List<String> myList = new ArrayList<>();