我在这里找不到诀窍:我想要一个函数来返回一个可选对象列表,以意味着我的列表确实包含这么多元素,但其中一些元素无效。
public Optional<String> getMyObjects() {
List<Optional<String>> result = Lists.newArrayListWithCapacity(2);
result.add(Optional.of("This value is valid"));
result.add(Optional.absent()); // Compiler error
return result;
}
这不编译:
The method add(Optional<String>) in the type List<Optional<String>> is not
applicable for the arguments (Optional<Object>)
你会怎么放?我试过类型转换但没有成功
最佳答案
尝试:
result.add(Optional.<String>absent());
阅读更多 about parametrized methods和 explicit type argument specification在很棒但非官方的 Java 泛型常见问题解答中。
关于java - 将 Optional.absent() 元素添加到 Guava 中的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915212/