java - 将 Optional.absent() 元素添加到 Guava 中的集合

标签 java guava

我在这里找不到诀窍:我想要一个函数来返回一个可选对象列表,以意味着我的列表确实包含这么多元素,但其中一些元素无效。

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 methodsexplicit type argument specification在很棒但非官方的 Java 泛型常见问题解答中。

关于java - 将 Optional.absent() 元素添加到 Guava 中的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915212/

相关文章:

java - 从 JFrame 更改 Java tea 图标

java.sql.SQLException : ORA-01747: invalid user. table.column、table.column 或列规范

java - System.out.print() 和 System.out.printf() 哪个更好?

java - Guava MinMaxPriorityQueue 实例化

java - Java中的SortedBiTreeMultimap数据结构?

java - 构造函数中的可重写方法调用有什么问题?

java - 如何执行带参数的命令?

java - Java中是否有Map支持通过(非唯一)值查找键?

java - 抽象计划服务 : shutdown underlying executor

java - Guava 中索引处没有元素的可迭代