如何使用varargs将动态数量的参数传递给方法?

时间:2019-04-10 09:30:30

标签: variadic-functions

我想对如何使用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的目的。

0 个答案:

没有答案