在我的代码中,我有一个方法,它必须采用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。
我该怎么做?谢谢你的帮助。
答案 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");