Как передать динамические числа аргументов в метод, используя varargs? - PullRequest
0 голосов
/ 10 апреля 2019

Я просто хотел бы получить предложения о том, как выполнить передачу динамических чисел или аргументов в метод с использованием 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 строковых значения.

Моя проблема заключается в том, что мне нужно изменить количество аргументов Strings, передаваемых из класса A, в тест метода в классеB. Мне нужен способ, с помощью которого тестовый метод в классе B может свободно принимать число или аргументы, передаваемые и легко назначаемые переменным в классе B.

Я мог бы заранее определить, что 10 строковых переменных в классе B, ив классе A я могу отправить, например, пять строк и пять нулей.Однако это, кажется, побеждает цель varargs.

...