Один из способов сделать это - использовать Objects.requireNonNull(initObj)
в вашем конструкторе.Это выдаст NullPointerException
, если экземпляр A равен null
.
public B(A initObj) {
Objects.requireNonNull(initObj);
anInt = initObj.getIntField();
aString = initObj.getStringField();
}
В качестве альтернативы, если вам действительно нужно вернуть значение NULL, если A равно NULL, вы можете использовать статическую фабрику.Вот как это выглядит на практике.
public static Optional<B> createB(A initObj) {
if (initObj == null)
return Optional.empty();
return Optional.of(new B(initObj));
}
Обратите внимание, что возвращение Optional
создаст у вашего клиента впечатление, что значение, возвращаемое вашим методом, может быть потенциально нулевым и потребует явной обработки этого случая.