Java8双函数引用?

Java8双函数引用?,java,lambda,optional,method-reference,Java,Lambda,Optional,Method Reference,假设我有这个班: class Dependency{ public Dependency reverse() { ... } // returns this Dependency after some reverse OP public int doSomething(int param) { ... } } 我可以这样使用它吗: Optional<Integer> opt = ... Dependency dep = new Dependency();

假设我有这个班:

class Dependency{      
   public Dependency reverse() { ... } // returns this Dependency after some reverse OP

   public int doSomething(int param) { ... }

}
我可以这样使用它吗:

Optional<Integer> opt = ...
Dependency dep = new Dependency();

opt.map(dep::reverse::doSomething);
可选选项=。。。
Dependency dep=新的依赖项();
opt.map(dep::reverse::doSomething);

这会很干净,但有可能吗?要将转换(
reverse
)应用于
依赖项,然后应用
doSomething
方法?

如果我理解正确,似乎
reverse()
不会消耗
整数,因此您可以简单地执行以下操作:

opt.map(dep.reverse()::doSomething);
“我可以这样使用它吗”-不,这不会编译。双重参照不是一回事。也许您打算执行两个
map
调用<代码>opt.map(…).map(…)
。不太清楚你在这里想做什么。如果您可以显示一个工作代码段,即使它没有您希望的那么优雅,也会有所帮助。只是为了理解您的场景。您(在代码注释中)说
reverse()
修改
依赖项
实例?那么,为什么不将声明更改为
Dependency dep=new Dependency().reverse()