У меня есть два класса Child
extends Parent
. Мне нужно поставить аннотацию @Builder на классы, чтобы мне не нужно было создавать свой конструктор.
package jerry;// Internal compiler error: java.lang.NullPointerException
import lombok.AllArgsConstructor;
import lombok.Builder;
@AllArgsConstructor([email protected]__(@Builder))
public class Child extends Parent {
//Multiple markers at this line
// - Implicit super constructor Parent() is undefined. Must explicitly invoke another constructor
// - overrides java.lang.Object.toString
private String a;
private int b;
private boolean c;
}
@Builder
public class Parent {
private double d;
private float e;
}
Мне нужно создать дочерний экземпляр таким образом, чтобы
Child child = Child.builder().a("aVal").b(1000).c(true).d(10.1).e(20.0F).build();
Но до сих пор я получаю ошибки, упомянутые в этом комментарии кодов. Может ли кто-нибудь указать мне в правильном направлении, как достичь этого с помощью ломбока или любой другой подобной библиотеки?
Суб-вопрос
Почему компиляция @AllArgsConstructor([email protected]__(@Autowired))
, но @AllArgsConstructor([email protected]__(@Builder))
не работает?