我怎么能做到这一点Java8 Lambdas:
Optional<String> code;
if (accountType.requiresCode() && (!code.isPresent() || empty(code.get()))) {
new IllegalArgumentException("Account type " + accountType + " requires code");
}
根据这个问题,可选类型在Java8可选中的有效使用在这里不是一个好的选择,尽管技术上是可能的。
您可以使用StringUtils重写到更好的版本:
final String code = getCodeFromSomething();
if (accountType.requiresCode() && StringUtils.isEmpty(code)) {
new IllegalArgumentException("Account type " + accountType + " requires code");
}
您可以将代码重写为
Optional<String> code;
if (accountType.requiresCode()) code.filter(x->!empty(x)).orElseThrow(
() -> new IllegalArgumentException("Account type " + accountType + " requires code")
);
或者,假设你的空(code.get())
实际上是代码。get()。isEmpty()
:
Optional<String> code=Optional.empty();
if (accountType.requiresCode()) code.filter(x->!x.isEmpty()).orElseThrow(
() -> new IllegalArgumentException("Account type " + accountType + " requires code")
);
但它并没有真正增加易读性。Lambdas并不总是比普通代码更好。
问题内容: 我正在使用JPA 2.0 /hibernate验证来验证我的模型。我现在遇到一种情况,必须验证两个字段的组合: 该模型是无效的,如果都和都null和其他有效。 如何使用JPA 2.0 / Hibernate执行这种验证?使用简单的注释,两个吸气剂都必须为非null才能通过验证。 问题答案: 对于多属性验证,应使用类级别的约束。摘自 Bean Validation Sneak Peek第
我有下面的代码 我希望验证这是否是HTML的正确格式,因为它包含许多变量,如果出现问题,很难进行调试。
我有两个数字字段来收集用户的数据。需要使用codeigniter表单验证类对其进行验证。 条件: 第一个字段可以为零 第二字段不能为零 第一字段不应等于第二字段 第二字段应大于第一字段 目前我使用 美元这个- 美元这个- 但是,如何验证上述第3和第4个条件? 提前谢谢。
问题内容: 假设我有一个带有两个我不在乎的方法的类,这称为… 下面的两个(仍然来自我的应用程序中的另一个类)都应该通过我的测试: 我不在乎哪个被调用,我只想调用两个变体之一。 在Mockito中,我通常可以执行以下操作: 要么: 是否有一种本地方式说“验证 一个或另一个 至少发生一次”? 还是我必须做一些粗略的事情: 问题答案: 您可以结合使用:
我在应用程序中配置了两个身份验证提供程序,一个使用LDAP,另一个查看数据库: Spring首先尝试使用LDAP,如果它在那里找不到用户,它会尝试我的自定义提供程序。 我想做的是强制Spring在所有可用的提供者中对用户进行身份验证。在这种情况下,它只会尝试我的自定义提供程序,前提是它可以先在LDAP服务器中执行登录。如果自定义提供程序中的身份验证失败,则整个身份验证将失败。 有可能通过Sprin
问题内容: 我正在尝试使用Jackson JSON接受一个字符串,并确定它是否为有效JSON。谁能建议要使用的代码示例(Java)? 问题答案: 不知道您的用例是什么,但是应该这样做: