为了避免调用可能引发异常的get()
:
if (a.isPresent())
list.add(a.get());
我可以将此表达式替换为:
a.ifPresent(list::add);
但是如果我需要执行一个更大的表达式,比如:
if (a.isPresent() && b && c)
list.add(a.get());
是否仍然可以使用lambda表单来缓解对get()
的调用?
我的用例是尽可能完全避免get()
,以防止错过可能的未检查异常。
我的假设是,您必须分别对待其他的< code>boolean,但我可能是错的。
if (b && c) {
a.ifPresent(list::add);
}
实际上,一个奇怪的解决方案可能是:
a.filter(o -> b && c).ifPresent(list::add);
注
一般格式为: 只有分隔符是必需的 以下是有效字符串: 我真的很难想出一个正则表达式来验证可选部分,同时保持整个字符串的完整性。 你怎么写这个正则表达式? PS:这需要是一个正则表达式,因为它将是不接受任何其他内容的第三方lexer的一部分。 相关岗位: 正则表达式验证带有可选小数部分的逗号分隔数字 与有效日期输入的每个阶段匹配的日期的正则表达式
问题内容: 我正在尝试验证一个没有多余字符的(美国)电话号码。因此格式为1-555-555-5555,没有破折号,空格等,并且1是可选的。但是,我的正则表达式仅会排除前导数字为1的数字,并说没有该数字的数字将无效。这是我在使用的地方,我哪里出错了? 问题答案: 用: ?表示“可选”。
本文向大家介绍我们可以在JSP中使用XPath表达式的switch语句吗?,包括了我们可以在JSP中使用XPath表达式的switch语句吗?的使用技巧和注意事项,需要的朋友参考一下 在<X:选择>标签的运作方式类似于Java的switch语句。有了这个,您可以在多种选择之间进行选择。如果switch语句具有case语句,则<x:choose>标记具有<x:when>标记。以类似的方式,switc
问题内容: 所以…例如,我正在尝试将一个电子邮件“模板”引入iframe中,作为angularjs应用程序内用户的“预览”。iframe位于控制器区域内(我们称其为MainCtrl)。然后,用户将能够使用MainCtrl内提供的表单元素基于其输入来更新预览。举例来说,假设我们将模板拉入iframe的过程如下所示: 因此,在我们的index.html(angularjs应用)中,我们将具有绑定到{{
我看到一段让我难以理解的代码,将其简化并放在这里: 模型类被定义为具有公共方法: 我的问题是: 对于
我知道Optionals ifPresent()调用的目的是替换空检查。从Oracle文档中提取代码示例,它在简单情况下似乎非常有用。例如: 我只是想了解为什么这被认为比空检查更好。可读性?表演在我看来,这会对项目性能造成影响,因为必须引入一个新的对象才能容纳我们最终希望获得的对象?总之,为什么这是 如果(声卡!=null),则认为比这更好。