如何编写函数首先返回非null,否则返回null

时间:2015-04-16 16:19:58

标签: java function

如何编写以下功能:

public Object getFirstNotNull(Object... objects){
    //return first that is not null
    //otherwise return null
}

除非if-else-if适用于所有Object s?

,否则还有其他办法吗?

3 个答案:

答案 0 :(得分:4)

只需执行for循环,并在找到非null对象时返回。

for (Object obj : objects) {
    if (obj != null) {
        return obj;
    }
}
return null;

答案 1 :(得分:4)

在Java 8中,你可以做到

public static <T> T getFirst(T... ts) {
    return Stream.of(ts).filter(Objects::nonNull).findFirst().orElse(null);
}

答案 2 :(得分:1)

只需使用for循环,如下所示:

public Object getFirstNotNull(Object... objects){
  for(Object obj:objects){
     if (obj != null) {
       return obj;
     }
  }
  return null;
}