lombok @Value @NonFinal наследование
Я пытаюсь объединить несколько классов @Value @NonFinal без создания конструкторов.
Ожидая, что lombok решит сгенерировать конструктор, который вызывает super со всеми совпадающими аргументами.
Есть ли способ достичь этого? Кажется, что это происходит с ошибкой, которая не имеет смысла, потому что класс отца имеет такой конструктор, заданный аннотацией. Я пробовал это с классами в разных файлах, то же поведение.
Пример:
public class TestLombok {
@Value
@NonFinal
class A {
@NonNull Integer a;
}
@Value
@NonFinal
class B extends A {
String b;
}
}
Ошибка:(12, 5) java: конструктор A в классе TestLombok.A не может быть применен к данным типам; обязательно: java.lang.Integer найдено: нет аргументов причина: фактические и формальные списки аргументов различаются по длине
1 ответ
К сожалению, это невозможно.
Чтобы выяснить, какие поля или методы есть у родительского класса, требуется разрешение. В тот момент, когда ломбок должен генерировать методы, разрешение становится невозможным, поскольку это изменит исход доступных полей и методов.
Раскрытие информации: я разработчик ломбок.