假设我有4个变量
String a;
String b;
String c;
String d;
我想检查单个变量或变量组合是否为Null并相应地采取行动。
例如,一种方法是使用if-else这种方式
if(a!=null && b == null && c == null && d == null) {
//doSomething }
else if(a==null && b!= null && c == null && d == null) {
//doSomething }
else if(a==null && b!= null && c == null && d == null) {
//doSomething }
else if(a==null && b== null && c != null && d == null) {
//doSomething }
......
//Similarly combination of two variables
if(a!=null && b != null && c == null && d == null) {
//doSomething }
else if(a!=null && b== null && c != null && d == null) {
//doSomething }
else if(a!=null && b== null && c == null && d != null) {
//doSomething }
......
//and so on
//Similarly combination of three variables
if(a!=null && b != null && c != null && d == null) {
//doSomething }
else if(a!=null && b== null && c != null && d != null) {
//doSomething }
else if(a!=null && b== null && c == null && d != null) {
//doSomething }
....
如何实现这种情况Switch
甚至不接受null
我想使用队列,因为它不允许空值,但我需要有一个变量的键,以便我可以得到值并操纵一些东西。将不胜感激
答案 0 :(得分:8)
你可以用switch语句构建一个额外的变量来实现这个:
int switchvar = 0;
if (a == null) {switchvar += 1;}
if (b == null) {switchvar += 10;}
if (c == null) {switchvar += 100;}
if (d == null) {switchvar += 1000;}
然后你可以使用
switch (switchvar) {
case(1): //only a ==null
...
case(101): //a == null and c == null
....
case(1011): //a,b,d null
....
case(1111): // all variables null
}