我有以下if-else块,我想知道是否有更优雅的方式可以编写这段代码......我使用的是Java 8
if(valueString != null) {
return valueString;
}
else if(valueInt != null) {
return String.valueOf(valueInt);
}
else if(valueFloat != null) {
return String.valueOf(valueFloat);
}
else if(valueDate != null){
return String.valueOf(valueDate);
}
else if(valueBit != null) {
return String.valueOf(valueBit);
}
else {
return null;
}
答案 0 :(得分:15)
使用流并遍历所有值,如果它们都不为空,则返回null。
return Stream.of(valueString, valueInt, valueFloat, valueDate, valueBit)
.filter(Objects::nonNull)
.map(String::valueOf)
.findFirst().orElse(null);