gpt4 book ai didi

java - 热衷于将方法引用运算符与嵌套方法一起使用?

转载 作者:行者123 更新时间:2023-11-30 05:32:17 25 4
gpt4 key购买 nike

您好,我想知道如何对嵌套方法使用方法引用运算符。我需要它来保持代码风格的一致性。

我想转换这样的东西

    .filter(a -> a.getB().getC().getD().isE())

像这样的事情

    .filter(A::getB::getC::getD::isE)

即使是这样也很好

    .filter(_.getB().getC().getD().isE())

我想删除这个

    a -> a

最佳答案

您无法在 Java 中执行这些操作。不支持嵌套方法引用语法,而 _ 在其他基于 JVM 的语言中可用,例如Groovy 有

除非您可以将流管道重写为:

,否则您将陷入 a -> a 的某些变体:

.map(A::getB)
.map(B::getC)
.map(C::getD)
.filter(D::isE)

但是,在上面您有一个 D 流,而不是 A

您还可以通过添加新方法来修改类A

public boolean hasE() {
return getB().getC().getD().isE();
}

它可以让你执行filter(A::hasE)

关于java - 热衷于将方法引用运算符与嵌套方法一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57275237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com