我想对如何使用varargs将动态数字或参数传递给方法提出建议。
请考虑以下代码。
public class A {
public static void main(String args[]){
B b = new B();
b.test(1, "test", "test2",null);
}
}
public class B {
public void test(int a, String ...strings ){
for( String b : strings){
String b1 = strings[0];
String b2 = strings[1];
String b3 = strings[2];
System.out.println("b1 = " + b1);
System.out.println("b2 = " + b2);
System.out.println("b3 = " + b3);
}
}
}
上面的代码很好用,但是只有当我已经知道要传递3个字符串值时。
我的问题是,当我需要将要从类A传递到类B中的方法test的Strings参数的数目更改时,我需要一种方法,其中类B中的test方法可以自由地接受要传递的数字或参数,并且很容易分配给B类变量。
我可以预先确定B类中有10个String变量,而在A类中,我可以发送例如五个Strings值和五个null。但是,这似乎违反了varargs的目的。