Код: Выделить всё
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@Getter
public class MyClass {
Integer mField1;
String mField2;
// No public constructor. You may NOT call (null, null) or (field1, field2)
// Factory-like constructor, when there's only field1
public static MyClass fromField1(@NotNull final Integer field1) {
return new MyClass(field1, null);
}
// Factory-like constructor, when there's only field2
public static MyClass fromField2(@NotNull final String field2) {
return new MyClass(null, field2);
}
}
Код: Выделить всё
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@Getter
Код: Выделить всё
@Value(...)
Я предполагаю, что staticConstructor может подойти, но я не На 100% уверен, что понимаю его цель. В моем случае:
- Я не знаю, что делать, когда существует более одного метода, подобного статическому конструктору.
У меня такое ощущение, что staticConstructor может генерировать только статический конструктор с всеми параметрами. Я не хочу это раскрывать. Мне буквально только нужны те два статических «конструктора», которые уже здесь.
Подробнее здесь: https://stackoverflow.com/questions/785 ... riate-here