Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java Guava库,如何使用生成器创建ImmutableSortedSet?_Java_Generics_Types_Guava_Type Inference - Fatal编程技术网

使用Java Guava库,如何使用生成器创建ImmutableSortedSet?

使用Java Guava库,如何使用生成器创建ImmutableSortedSet?,java,generics,types,guava,type-inference,Java,Generics,Types,Guava,Type Inference,我相信这是一个非常简单的问题,但请看下面的代码示例: final ImmutableSortedSet<String> notOk = ImmutableSortedSet.naturalOrder().build(); final ImmutableSortedSet<String> ok = new ImmutableSortedSet.Builder<String>(Ordering.natural()).build(); final

我相信这是一个非常简单的问题,但请看下面的代码示例:

final ImmutableSortedSet<String> notOk = ImmutableSortedSet.naturalOrder().build();         
final ImmutableSortedSet<String> ok = new ImmutableSortedSet.Builder<String>(Ordering.natural()).build();
final ImmutableList<String> typicalGuava = ImmutableList.of("one", "two");
final ImmutableSortedSet notOk=ImmutableSortedSet.naturalOrder().build();
final ImmutableSortedSet ok=新建ImmutableSortedSet.Builder(Ordering.natural()).build();
最终不可变列表typicalGuava=不可变列表,共(“一”、“二”);

我只是想知道在第一个示例中使用naturalOrder()方法的正确方法是什么?在该示例中,Java无法推断类型,因此会出现“类型不匹配”错误。

对于一系列这样的链式调用,编译器无法推断调用
naturalOrder()
的类型参数,因为其结果没有立即分配给可用于推断的对象

你可以写

ImmutableSortedSet<String> ok = ImmutableSortedSet.<String>naturalOrder().build();
ImmutableSortedSet ok=ImmutableSortedSet.naturalOrder().build();

ImmutableSortedSet.Builder=ImmutableSortedSet.naturalOrder();
// ...
ImmutableSortedSet ok=builder.build();
执行以下操作:

final ImmutableSortedSet<String> nowOk = ImmutableSortedSet.<String>naturalOrder().build();
final ImmutableSortedSet nowOk=ImmutableSortedSet.naturalOrder().build();
final ImmutableSortedSet<String> nowOk = ImmutableSortedSet.<String>naturalOrder().build();