A和B有两个类。例如,如下所示:
class A{
B b;
B getB(){ return b; }
}
class B{
String x = "Test";
String getX(){
return x;
}
}
我在.map(method_refrence_here_for_getX)
中有A对象,并且我想调用getX,所以有什么办法吗?
尽管我可以做到以下几点:
.map(A::getB)
.map(B::getX)
or
.map( a -> a.getB().getX())
但是我想做类似.map(A::B::getX)
的事情,我知道这是绝对错误的,但是我想要这样的事情,以便任何人都可以提供帮助?
答案 0 :(得分:1)
您不能。该没有语法,称为 method reference ( method ),您可能会显示一个字段引用,该引用不受支持,看起来从IMO开始很奇怪。
两者(map(A::getB).map(B::getX)
和map(a -> a.getB().getX())
之间的区别在于,您将在内部保存其他方法,但这只是一个微小的优化,您应该真正研究一下在其中更易读的内容。你的意见。