2011-06-16 154 views
1

我想从一个函数中取多个参数,并检查是否至少有一个参数不为空或空。最好/最有效的方法来检查是否至少有一个输入是由用户输入

现在我正在做这样的事情。

void foo(String a, String b, String c, String d, ... other strings){ 

//make sure at least one of the inputs are not null. 
if(a!=null || b!=null || c!=null || d!=null ... more strings){ 
    //do something with the string 
} 

} 

这样的输入可以是foo(null, null, null, "hey"); ,但它不能是foo(null, null, null, null);

什么我的问题是有没有更好的方式来做到这一点,而不是不断增加的if语句。林消隐了现在....感谢

+0

多少个参数,你真的有这功能?这本身可能是一个问题。 – 2011-06-16 23:19:29

回答

3

使用varags

public static boolean atLeastOneEmpty(String firstString, String... strings){ 
     if(firstString == null || firstString.isEmpty()) 
     return true; 

     for(String str : strings){ 
     if(str == null || str.isEmpty()) 
      return true; 
     } 
     return false; 

    } 

返回true,如果至少一个字符串为空

+0

+1你击败了我!我会修改它采取'公共静态布尔atLeastOneEmpty(String str,字符串...字符串)'。使它更易读易懂,至少需要一个参数。 – CoolBeans 2011-06-16 23:18:08

+0

好建议,编辑:) – 2011-06-16 23:21:31

+0

我认为他需要相反的功能,atLeastOneNonEmpty,但你可以编辑这个答案。 – 2011-06-16 23:21:51

相关问题