我是 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/