Java 11:谓词或/和on可选

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

我正在使用jdk 11,我想知道是否可以使用
谓词::或
谓词::和
方法连接来编写此代码:

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
在这里是无用的。@AKSW
isEmpty&&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
。是的,我知道。我只想提一下,但实际上您在这里演示了如何使用
。所以,没关系