我有一个类,如果在构建器中未指定名称或内容的情况下尝试构建它,我希望它会引发异常。如果我不设置“名称”会发生这种情况,但如果我不设置“东西”则不会。
@Value.Immutable
public abstract class Data {
public abstract String name();
public abstract List<String> stuff();
}
有人可以指出我如何强制要求指定列表或使用 Immutables 库将对象添加到列表中吗?
我有一个类,如果在构建器中未指定名称或内容的情况下尝试构建它,我希望它会引发异常。如果我不设置“名称”会发生这种情况,但如果我不设置“东西”则不会。
@Value.Immutable
public abstract class Data {
public abstract String name();
public abstract List<String> stuff();
}
有人可以指出我如何强制要求指定列表或使用 Immutables 库将对象添加到列表中吗?
您应该按照文档中的说明实施前提条件检查。
对于您的课程,它可能类似于以下内容:
@Value.Check
protected void check() {
Preconditions.checkState(!stuff().isEmpty(), "At least one stuff must be specified.");
}