Подходит ли здесь staticConstructor?JAVA

Программисты JAVA общаются здесь
Anonymous
Подходит ли здесь staticConstructor?

Сообщение Anonymous »

У меня есть класс, который выглядит так:

Код: Выделить всё

@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

Вернуться в «JAVA»