如何创建一个空的番石榴不可变列表?

2022-09-01 16:40:51

我可以用该方法创建一个Guava ImmutableList,并将根据传递的对象获得正确的泛型类型:of

Foo foo = new Foo();
ImmutableList.of(foo);

但是,不带参数的 of 方法无法推断泛型类型并创建 .ImmutableList<Object>

如何创建一个空来满足?ImmutableListList<Foo>


答案 1

如果将创建的列表分配给变量,则无需执行任何操作:

ImmutableList<Foo> list = ImmutableList.of();

在无法推断类型的其他情况下,您必须按照@zigg所述进行编写。ImmutableList.<Foo>of()


答案 2

ImmutableList.<Foo>of()将创建一个泛型类型为 的空值。尽管编译器在某些情况下可以推断出泛型类型(如赋值到变量),但在为函数参数提供值时,您需要使用此格式(就像我所做的那样)。ImmutableListFoo


推荐