java - 包含列表的不可变类在没有列表的情况下不会抛出异常
问题描述
我有一个类,如果在构建器中未指定名称或内容的情况下尝试构建它,我希望它会引发异常。如果我不设置“名称”会发生这种情况,但如果我不设置“东西”则不会。
@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.");
}
推荐阅读
- android - 如何在视频播放器中使用手机底部空间?
- python - 将 FMS 添加到 PacMan Pygame 项目
- java - 如何在点击事件中发送电子邮件,而用户不会注意到在后台运行
- excel - 循环遍历文件夹中的所有 Excel 文件,并使用 SAS 提取每个文件的某个单元格
- java - Sedgewick/Wayne“BellmanFordSP.java”:“findNegativeCycle”如何确保返回负循环?
- object - “Gameobject”类型的对象已被销毁
- python - 如何通过pandas groupby数量和单价计算总金额
- python - 使用 asyncio 的 python 子进程的“关闭”事件侦听器
- python - 对于数字列表,查找累积和保持在范围内的所有组合
- javascript - angularjs控制器中的window.addEventListener导致调用两次或更多次