是否有更简洁的方法来创建指定类型的Optional.ofNullable而不将其分配给变量?工作解决方案:public Optional<V> getValue2(K key) { Node<K, V> node = getNode(key); Optional<V> nullable = Optional.ofNullable(null); return isNull(node) ? nullable : Optional.ofNullable(node.getValue());} 在这里我收到一个错误:“类型不匹配:无法从可选转换为可选”public Optional<V> getValue(K key) { Node<K, V> node = getNode(key); return isNull(node) ? Optional.ofNullable(null) : Optional.ofNullable(node.getValue());}
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
基本上,一个更简单的方法是:
public Optional<V> getValue(K key) {
return Optional.ofNullable(getNode(key))
.map(Node::getValue);
}
如果你仍然想坚持你所拥有的,你可以这样做:
public Optional<V> getValue(K key) {
Node<K, V> node = getNode(key);
return isNull(node) ?
Optional.empty() : Optional.ofNullable(node.getValue());
}
倚天杖
TA贡献1828条经验 获得超3个赞
我想你正在寻找这个:
Optional.<V>ofNullable(null);
或者在你的情况下,如果总是传递一个空值:
Optional.<V>empty();
添加回答
举报
0/150
提交
取消