美文网首页
改善Java程序建议5

改善Java程序建议5

作者: KUN叔 | 来源:发表于2017-02-23 14:04 被阅读11次

    建议5:别让null值和空值威胁到变长方法

    public class SuggestFive{
        public void methodA(String str,Integer... is){
        }
    
        public void methodA(String str,String... strs){
        }
    
        public static void main(String[] args) {
                SuggestFive suggestFive= new SuggestFive();
                suggestFive.methodA("China", 0);
                suggestFive.methodA("China", "People");
                suggestFive.methodA("China");
                suggestFive.methodA("China",null);
        }
    }
    

    上面的代码有两处编译不过,suggestFive.methodA("China")和suggestFive.methodA("China",null)。提示方法模糊不清,编译器不知道调用哪一个。
    对于methodA("China")方法,根据实参"China"(String类型),两个方法都符合形参格式,编译器不知道该调用哪一个,于是报错。
    对于methodA("China",null)方法,直接量null是没有类型的,虽然两个methodA方法都符合调用请求,但是不知道调用哪一个,于是报错了。
    应该如下修改:

    String[] strs = null;
    suggestFive.methodA("China", strs);
    

    也就是说让编译器知道这个null值是String类型的。

    相关文章

      网友评论

          本文标题:改善Java程序建议5

          本文链接:https://www.haomeiwen.com/subject/jwqbwttx.html