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");