Java 如何编写函数首先返回非null的值,否则返回null
如何编写以下函数:Java 如何编写函数首先返回非null的值,否则返回null,java,function,Java,Function,如何编写以下函数: public Object getFirstNotNull(Object... objects){ //return first that is not null //otherwise return null } 对于所有对象s,是否有其他方法,除非if else if。只要执行for循环,并在找到非空对象时返回 for (Object obj : objects) { if (obj != null) { return obj;
public Object getFirstNotNull(Object... objects){
//return first that is not null
//otherwise return null
}
对于所有
对象
s,是否有其他方法,除非if else if
。只要执行for循环,并在找到非空对象时返回
for (Object obj : objects) {
if (obj != null) {
return obj;
}
}
return null;
只需使用for循环,如下所示:
public Object getFirstNotNull(Object... objects){
for(Object obj:objects){
if (obj != null) {
return obj;
}
}
return null;
}
在Java8中,您可以
public static <T> T getFirst(T... ts) {
return Stream.of(ts).filter(Objects::nonNull).findFirst().orElse(null);
}
公共静态T getFirst(T…ts){
返回Stream.of(ts).filter(Objects::nonNull).findFirst().orElse(null);
}
你可以使用循环?这有什么意义?请注意,如果你有Apache Commons,你可以使用ObjectUtils.firstNonNull
。他不是在试图避免if
语句吗?@I.K.我相信OP的意思是避免if语句检查每个对象。最后返回null(没有否决)@ArnonZilca补充道。这个答案和4分钟后已经出现的答案有什么不同?我是用移动设备添加的。所以当我开始写答案时,并没有答案@Jean-François Savard:the返回null例如,code>语句。.filter(Objects::nonNull)
@Holger感谢您的添加。