Java返回一个null值,就像ruby中的nil | | value返回值一样简单
Java中有没有一种方法可以轻松地检查null并返回默认值 在ruby中,我们有:Java返回一个null值,就像ruby中的nil | | value返回值一样简单,java,ruby,Java,Ruby,Java中有没有一种方法可以轻松地检查null并返回默认值 在ruby中,我们有: nil || 100 # => evaluates to 100 nil || "Hello" # => evaluates to "Hello" 4 || 100 # => evaluates to 4 我所知道的Java中更简单的方法是: Double variable = null variable != null ? variable : 100.0 # => evaluat
nil || 100 # => evaluates to 100
nil || "Hello" # => evaluates to "Hello"
4 || 100 # => evaluates to 4
我所知道的Java中更简单的方法是:
Double variable = null
variable != null ? variable : 100.0 # => evaluates to 100.0
variable != null ? variable : "Hello" # => evaluates to "Hello"
variable = 4.0
variable != null ? variable : 100.0 # => evaluates to 4.0
Java8支持
可选,使用它我们可以:
return Optional.ofNullable(variable).orElse(defaultValue);
Java8之前的版本不包括此类,但是第三方库(如)提供了类似的类型。Java8支持可选的
,我们可以使用它:
return Optional.ofNullable(variable).orElse(defaultValue);
Java8之前的版本不包含此类,但是第三方库(如)提供了类似的类型。如果您不想经常这样做,三元语句并没有那么糟糕
如果您需要经常这样做,只需编写一个小方法来包装三元:
<T> T getOrDefault(T first, T second) {
return first != null ? first : second;
}
T getOrDefault(T第一,T第二){
返回第一个!=null?第一个:第二个;
}
如果您不想经常这样做,三元语句并没有那么糟糕
如果您需要经常这样做,只需编写一个小方法来包装三元:
<T> T getOrDefault(T first, T second) {
return first != null ? first : second;
}
T getOrDefault(T第一,T第二){
返回第一个!=null?第一个:第二个;
}
试试这个
public static <T> T or(T... values) {
for (T value : values)
if (value != null)
return value;
return null;
}
试试这个
public static <T> T or(T... values) {
for (T value : values)
if (value != null)
return value;
return null;
}
不幸的是,不是。一般来说,您希望避免使用null
,如果您在代码中的许多地方都这样做,您应该重新考虑您的设计。不幸的是,不是(+1)。彼得,你能详细说明一下吗null
对于表示“无值”似乎非常合适,就像SQL中的null
一样?Peter,我完全理解你的意思。所以+1。这完全是一种代码味道。不幸的是不是。一般来说,您希望避免使用null
,如果您在代码的许多地方都这样做,您应该重新考虑您的设计。不幸的是,不是(+1)。彼得,你能详细说明一下吗null
对于表示“无值”似乎非常合适,就像SQL中的null
一样?Peter,我完全理解你的意思。所以+1。如果你提到番石榴,可能值得一提如果你提到番石榴,可能值得一提