поэтому у меня есть абстрактный класс, и я готов хранить все значения из подклассов в ImmutableList. Вот пример того, что я имею в видуСохранение значений из абстрактного int при запуске
public abstract class Test {
...
public abstract int getValue();
}
то подкласс
public final class Example extends Test {
@Override
public int getValue() {
return 5;
}
}
Есть ли способ сохранить тест # ПолучитьЗначение() в ImmutableList при запуске?
Я пытался сделать что-то вроде
public abstract class Test {
public static final ImmutableList<Integer> VALUES = ImmutableList.of();
public Test() {
VALUES.add(getValue());
}
public abstract int getValue();
}
затем распечатать значения в списке VALUES.
public static void main(String[] args) {
Test.LIST.forEach(System.out::println);
}
но он не работал.
Вы хотите сохранить только один элемент? Попробуйте Collections.singletonList() или из коллекции google lib ImmutableList – gauee
@gauee да просто int. Я добавил пример того, что я пытался сделать. –
Невозможно изменить состояние неизменяемого объекта после фазы инициализации. private ImmutableList