[英]Optional null value with a type
有沒有更簡潔的方法來創建指定類型的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());
}
在這里我收到一個錯誤:“類型不匹配:無法從Optional轉換為Optional”
public Optional<V> getValue(K key) {
Node<K, V> node = getNode(key);
return isNull(node) ? Optional.ofNullable(null) : Optional.ofNullable(node.getValue());
}
基本上,一種更簡單的方法是:
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());
}
我想你正在尋找這個:
Optional.<V>ofNullable(null);
或者在您的情況下,如果總是傳遞null:
Optional.<V>empty();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.