变量参数中的null(点表示法)

时间:2014-01-09 19:19:56

标签: java

是否有一种惯用的方法来处理变量参数列表中的null参数(带点符号)?当只有一个null参数时,我发现它有点笨拙。下面的代码会在标记的行上抛出NPE。

public class FooMain {

    public static boolean checkIsOneOf(String value, String ... acceptedValues) {
        for (String acceptedValue : acceptedValues) {
            // do stuff
        }
       return false;
   }

    public static void main(String args[]) throws Exception {
        System.out.println(checkIsOneOf("foo", "a", null));
        System.out.println(checkIsOneOf("foo", "a"));
        System.out.println(checkIsOneOf("foo", null)); // NPE
    }
}

1 个答案:

答案 0 :(得分:2)

标有'NPE'的线上的简单演员解决了这个问题:

System.out.println(checkIsOneOf("foo", (String) null)); // no longer NPE