如何设置某种类型的空列表

use*_*108 24 java

我们有,Collections.EMPTY_LIST但它没有输入,它显示了一个日食警告.如何设置某种类型的空列表.

ash*_*ram 63

试试这个

Collections.<String> emptyList();
Run Code Online (Sandbox Code Playgroud)

请参阅此类型安全,通用,空集合与静态泛型


Whi*_*g34 8

为了得到一个空ListString例如:

List<String> list = Collections.<String>emptyList();
Run Code Online (Sandbox Code Playgroud)


Key*_*r00 8

从 Java 10 开始:使用var关键字和List.of()

\n\n

免责声明:这会给你一个List<Object>. 如果您想要一个类型化的列表,则不应将关键字用于var空列表。但请注意,这var list = List.of("hello", "world");会给你一个打字的列表,但不是空的。

\n\n

在 Java 10 中,引入了 var 关键字来允许局部变量类型推断。换句话说,局部变量的类型将由编译器推断,因此开发人员不需要声明它。

\n\n

因此,您可以使用以下语句创建一个空列表:

\n\n
var list =\xc2\xa0List.of()  // since Java 10, use the var keyword, List.of() was introduced in Java 9.\n
Run Code Online (Sandbox Code Playgroud)\n\n

从 Java 9 开始:使用List.of()

\n\n

从 Java 9 开始,有了方便的List.of()静态工厂方法,它提供了一种创建不可变列表的便捷方法。\n示例:

\n\n
List<String> list = list.of();\n
Run Code Online (Sandbox Code Playgroud)\n\n

这些方法创建的List实例具有以下特点:

\n\n
    \n
  • 结构上不可变:无法添加、删除或替换元素。否则UnsupportedOperationException会被抛出。
  • \n
  • 禁止空元素。否则NullPointerException被抛出。
  • \n
  • 如果所有元素都是可序列化的,则可序列化。
  • \n
  • ...参见JavaDoc
  • \n
\n\n

Java 9 之前:使用集合。空列表()

\n\n
\n

方便的方法emptyList() 返回一个空列表(不可变)。\n 该列表是可序列化的。Java文档

\n
\n\n
List<String> list =\xc2\xa0Collections.<String> emptyList(); // prior Java 9\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,Collections.<String> emptyList()返回常量:EMPTY_LIST

\n


Der*_*lin 7

List.of()在指定类型时调用,请使用List.<Class>of(),例如:

List.<String>of()
Run Code Online (Sandbox Code Playgroud)


Rol*_*Boy 6

使用 Collections.emptyList(); 你可以查看jdk文档。