引数が最大でも 1 つしかない Arrays.asList() の呼び出しを報告します。

JDK 9 以降ではこのような呼び出しを Collections.singletonList()Collections.emptyList()、または List.of() に置換してメモリを節約できます。

具体的には、引数のない Collections.emptyList()List.of() が常に共有のインスタンスを返すのに対し、引数のない Arrays.asList() は呼び出されるたびに新しいオブジェクトを作成します。

注意: Collections.singletonList()List.of() が返すリストはイミュータブルであるのに対し、Arrays.asList() が返すリストでは set() メソッドを呼び出すことができます。 このため、まれにコードが機能しなくなる場合があります。

例:


  List<String> empty = Arrays.asList();
  List<String> one = Arrays.asList("one");

クイックフィックス適用後:


  List<String> empty = Collections.emptyList();
  List<String> one = Collections.singletonList("one");