Я пытаюсь сохранить в ArrayList
все значения каждой переменной класса. Я создал эту функцию во всех имеющихся у меня классах и хочу, чтобы она делала то же самое для каждого класса (каждый класс имеет разные переменные).
Другими словами, я хочу @Override
функцию toString, но не зная, сколько атрибутов имеет класс.
Это то, что я сделал до сих пор:
public class Example {
private type1 var1 = 'Hello';
private type2 var2 = 10;
private type3 var3 = 'Bye';
//...
@Override
public String toString() {
ArrayList<String> fields = new ArrayList<>();
for (Field f: this.getClass().getDeclaredFields()) {
fields.add(f.getName()); //This does not work for what I want. This returns the name of the type of the variable and not what it is storing. What should I change it for?
}
return String.join(", ", fields);
}
}
Итак, для этого примера, вывод, который я получаю:
var1, var2, var3
Но вывод, который я хочу получить:
Hello, 10, Bye
Есть ли способ сделать это?