方法重载null参数

时间:2013-10-08 08:20:16

标签: java operator-overloading

在我的代码中,我有一个方法,它必须采用4个参数。但是在代码中的某个地方我称之为有时2个,有时是4个参数。因此,当我使用2个参数调用时,最后2个参数应自动​​为空。

例如:

public static void x(String one,String two,String three=null,String four=null){

//do something hear

}

x("one","two");
x("one","two","three","four");

当我拨打x(“one”,“two”)=>我希望将三个和四个参数自动初始化为null。

我该怎么做?谢谢你的帮助。

3 个答案:

答案 0 :(得分:3)

class A{

   public void do(String a, String b, String c, String d){
        //do something
   }

   //Overload do method
   public void do(String a, String b){
        do(a,b,null,null);
   }
}

答案 1 :(得分:0)

最佳选择是仅使用4个参数保存方法,只需要传递2个参数,将其他2个参数传递为空。

例如2 params pass:

    x(a,b,null,null);

和4 params传递:

    x(a,b,c,d);

答案 2 :(得分:0)

这也适用,可以使用字符串作为参数或多个逗号分隔的字符串来调用。这样你就不必超载了。

public void myMethod(String ...strings)  {
    for (String string : strings) {
        //do something with the string
    }
}

您可以使用数组调用它:

myMethod(new String[]{"test1", "test2"})

或几个字符串:

myMethod("test1", "test2");
myMethod("test1", "test2", "test3", "test4");