Java 11:谓词或/和on可选
我正在使用jdk 11,我想知道是否可以使用Java 11:谓词或/和on可选,java,java-11,Java,Java 11,我正在使用jdk 11,我想知道是否可以使用谓词::或,谓词::和方法连接来编写此代码: return Optional.ofNullable(someString) .filter(String::isEmpty) .filter(String::isBlank); 当然: return Optional.ofNullable(someString) .filter(((Predicate<String>) String::isEmpty).and(Str
谓词::或
,谓词::和
方法连接来编写此代码:
return Optional.ofNullable(someString)
.filter(String::isEmpty)
.filter(String::isBlank);
当然:
return Optional.ofNullable(someString)
.filter(((Predicate<String>) String::isEmpty).and(String::isBlank));
返回可选的.ofNullable(someString)
.filter(((谓词)String::isEmpty)和(String::isBlank));
您不需要第二个谓词,因为isEmpty
已经暗示isBlank
:)不isBlank
包含isEmpty
?.filter(String::isEmpty)。filter(String::isBlank)
等同于。filter(String::isEmpty)
isBlank
在这里是无用的。@AKSWisEmpty&&isBlank=isEmpty&&isEmpty&&isEmpty&(isEmpty | | | hasOnlyWhitespaces)=isEmpty | | isEmpty&&hasOnlyWhitespaces=isEmpty
@AKSW是的,但你没有考虑到过滤器。你需要考虑“<代码>”、“ISBLACKE”和“.IsVunTye”(<代码> >与<代码>”、“ISVUNTY())/代码>。看起来很丑陋:“我会用番石榴来做这个:<代码>和(String::ISHOLL,String::ISBLIN)< /代码>我只使用<代码> ISBLUL/<代码>…这也包括isEmpty
情况java.lang.String.isBlank()
如果字符串为空或仅包含空格,则返回true
。是的,我知道。我只想提一下,但实际上您在这里演示了如何使用和
。所以,没关系