是否可以获取java.util.function.Function的方法名称。我想每次都记录正在使用的方法的名称。下面的示例打印Lambda对象,但我没有找到一种简单的方法来获取方法名称:
{{1}}
答案 0 :(得分:5)
在传递方法引用时,您必须考虑,实际上在做什么。因为:
Integer::getInteger
几乎相同(在下面的方法中有更多的堆叠层):
s -> Integer.getInteger(s)
以上再次类似于以下内容:
new Function<String, Integer> {
@Override
public Integer apply(String s){
return Integer.getInteger(s);
}
}
在最后一个片段中,您清楚地看到与被调用方法Integer#getInteger(String)
没有逻辑连接。这解释了为什么在不引入新内容的情况下不可能做到你想做的事情。