字符串空白(空或空)检查:如果结构 vs java 8 可选/过滤器

ami*_*que 0 java java-8

问题:哪种方法更好,为什么

1- 使用 Apache Commons

if(StringUtils.isNotBlank(str) {
     list.add(str)
}
Run Code Online (Sandbox Code Playgroud)

2- 可选和过滤器

Optional.ofNullable(str)
                .filter(s -> StringUtils.isNotBlank(s))
                .ifPresent(result -> list.add(result));
Run Code Online (Sandbox Code Playgroud)

YCF*_*F_L 5

问题:哪种方法更好,为什么

第一个,因为在第二个中你创建了一个不必要的 Optional


但我建议使用isNotEmpty而不是isNotBlank

if(StringUtils.isNotEmpty(str)){
   list.add(str)
}
Run Code Online (Sandbox Code Playgroud)

要了解docisNotEmptyisNotBlankin doc之间的区别:

检查 CharSequence 是否不为空("")且不为 null

检查 CharSequence 是否非空(""), not null and not whitespace only

在您的情况下,您询问 null 或 empty,isNotEmpty您的情况正确的位置在哪里。