猿问

具有类型的可选空值

是否有更简洁的方法来创建指定类型的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());

}


慕标琳琳
浏览 161回答 2
2回答

慕后森

基本上,一个更简单的方法是:public Optional<V> getValue(K key) {&nbsp; &nbsp; return Optional.ofNullable(getNode(key))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.map(Node::getValue);}&nbsp;&nbsp;如果你仍然想坚持你所拥有的,你可以这样做:public Optional<V> getValue(K key) {&nbsp; &nbsp; Node<K, V> node = getNode(key);&nbsp; &nbsp; return isNull(node) ?&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Optional.empty() : Optional.ofNullable(node.getValue());}

倚天杖

我想你正在寻找这个:Optional.<V>ofNullable(null);或者在你的情况下,如果总是传递一个空值:Optional.<V>empty();
随时随地看视频慕课网APP

相关分类

Java
我要回答