java вызвать функцию с параметрами, хранящимися в коллекции - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь сделать так, чтобы мой конструктор вызывал динамику c, поэтому, если коллекция, содержащая параметры, изменяется, мне нужно только настроить конструктор. Есть ли способ взаимодействовать с коллекцией при вызове функции?

Пример:

String[] data = new String[] {"first_name", "last_name", "email", "username", "password"};
Person p = new Person(data[0], data[1], data[2], data[3], data[4], data[5])  //dynamic constructor call possible?

Мне нужен конструктор для получения отдельных значений, поэтому передача коллекции неудовлетворительна.

1 Ответ

1 голос
/ 18 июня 2020

Да, ваш подход правильный

    package test;

public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String data[][]=new String[][] {{"A","1","M"},{"B","2","F"},{"C","3","M"}};
        for(String row[] : data) {
            Person p = new Person(row[0],Integer.parseInt(row[1]),row[2].charAt(0));
            System.out.println(p.toString());
        }
}
}
class Person{
    String name;
    int age;
    char gender;

    Person(){}
    Person(String name,int age,char gender){
        this.name=name;
        this.age=age;
        this.gender=gender;
    }
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]";
    }
}

Посмотрим, хотите ли вы этого?

...