AJ0*_*007 5 java conditional if-statement
我是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
}
....
Run Code Online (Sandbox Code Playgroud)
如何实现这种情况.我发现了类似的问题,但没有使代码干净.任何帮助将不胜感激
编写这些实用程序功能,您可以轻松地比较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);
}
Run Code Online (Sandbox Code Playgroud)
你可以使用这些函数进行n次比较.
if(areAllNotNull(a) && areAllNull(b,c)) {
//doSomething
}
else if(areAllNotNull(b) && areAllNull(a,c)) {
//doSomething
}
else if(areAllNotNull(c) && areAllNull(b,a)) {
//doSomething
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
282 次 |
| 最近记录: |