Java - объединенная строка с именем метода - PullRequest
1 голос
/ 24 февраля 2020

Как вы можете видеть в заголовке этого поста, у меня глупый вопрос ... Однако мне интересно, есть ли более эффективный способ справиться с таким сценарием программирования, с которым я сталкиваюсь. Я программирую с Java и создал следующий класс:

public class Route {
    private String objective_1;
    private String objective_2;
    ...

    // CONSTRUCTOR__________________________________________________________________________________

    public Route() {
    }

    public Route(String objective_1, String objective_2, ...) {;
        this.objective_1 = objective_1;
        this.objective_2 = objective_2;
        ...
    }

    // GET AND SET__________________________________________________________________________________

    public String getObjective_1() {...}

    public void setObjective_1(String objective_1) {...}

    public String getObjective_2() {...}

    public void setObjective_2(String objective_2) {...}

    ...
}

Далее (в основном классе) я создаю объекты из класса маршрутов и сохраните их в Arraylist (array_routes). Позже я пытаюсь получить и напечатать все цели объекта из индекса 0 Arraylist. Я использую этот код:

System.out.println(array_routes.get(0).getObjective_1);
System.out.println(array_routes.get(0).getObjective_2);
...

Теперь возникает глупый вопрос ... У меня 28 целей в классе маршрута. То, что я намереваюсь сделать, это иметь более эффективный подход для печати всех целей объекта. Вместо написания 28 get Objective-методов (как в предыдущем коде) мне интересно, могу ли я сделать что-то вроде этого:

for (int j = 1; j < 29 ; j++) {
    String jj = String.valueOf(j);
    System.out.println(array_routes.get(0).getObjective_+"jj");
}

Я знаю, что предыдущий код не работает. .. Но кто-нибудь знает эффективный способ не писать 28 получить объективные методы? Это вообще возможно?

Заранее спасибо за ваше время и, надеюсь, за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...