java - 有什么方法可以限制 POJO 中字符串的大小并在超出限制时抛出特定异常?
问题描述
我需要一个快速的解决方案来限制具有特定限制的属性,如果它超过限制,则抛出自定义异常,类似于注释,以指定要抛出的限制和异常。java 8中有这样的吗?
例子:
@Size(max=20, ex=CustomEx, msg= "Exced the limit")
private String myAttribute;
解决方案
一个简单的方法是将您的验证代码放在一个 setter 中:
public void setMyAttribute(String value) throws CustomEx {
if (value != null && value.length() > 20) {
throw new CustomEx("Exceeded the limit");
}
myAttribute = value;
}
编辑:使用构造函数时的验证:
public MyClass(String value) throws CustomEx { // the constructor
setMyAttribute(value);
}
推荐阅读
- html - 单击锚链接时固定标题下的内容
- r - 按多个组选择多个数据帧上的值
- javascript - 使用量角器单击按钮后未加载下一页
- c# - c#如何在按键后显示下一个WriteLine
- node.js - 如何在一个登录页面中创建两个授权用户(管理员、客户)?
- google-compute-engine - 如何使用新版本的容器映像启动 VM 实例
- html - 如何使背景图像正确适合板内而不会失去响应能力
- perl - Perltidy 总是打印到标准输出
- python - 如何初始化 Pickle Counter List 的唯一 ID 并将其存储在文件中并检索它?
- javafx - 如何将参数传递给javafx中fxml控制器类的构造函数?