gpt4 book ai didi

java - 检查Java中哪些参数组合为空

转载 作者:搜寻专家 更新时间:2023-10-31 19:51:50 25 4
gpt4 key购买 nike

我是 Java 新手。我现在面临一个问题,我找不到最简单和最干净的解决方法。

假设我有 3 个参数(字符串)传递给一个函数(也可以是 Hashmap)。我想检查单个变量或变量组合是否不为 Null 并采取相应行动。

例如,一种方法是以这种方式使用 if-else

if(a!=null && b == null && c == null) { 
//doSomething
}
else if(a==null && b!= null && c == null ) {
//doSomething
}
else if(a==null && b0= null && c != null) {
//doSomething
}
......
//Similarly combination of two variables
if(a!=null && b != null && c == null) {
//doSomething
}
else if(a!=null && b== null && c != null) {
//doSomething
}
else if(a==null && b!= null && c != null) {
//doSomething
}
......
//and so on
//Similarly combination of three variables
if(a!=null && b != null && c != null) {
//doSomething
}

....

如何实现这种情况。我找到了类似的 question ,但没有使代码干净。任何帮助将不胜感激

最佳答案

写下这些效用函数,你就可以很容易地比较n项。

public static boolean areAllNull(Object... objects) {
return Stream.of(objects).allMatch(Objects::isNull);
}

public static boolean areAllNotNull(Object... objects) {
return Stream.of(objects).allMatch(Objects::nonNull);
}

您可以使用这些函数进行 n 次比较。

if(areAllNotNull(a) && areAllNull(b,c)) { 
//doSomething
}
else if(areAllNotNull(b) && areAllNull(a,c)) {
//doSomething
}
else if(areAllNotNull(c) && areAllNull(b,a)) {
//doSomething
}

关于java - 检查Java中哪些参数组合为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53444933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com