标签: java intellij-idea reflection java-8 method-reference
我在intellij中有这段代码:
return collection.stream().anyMatch(annotation -> method.isAnnotationPresent(annotation));
编译器告诉我" method.isAnnotationPresent(annotation)"可以用方法参考替换,我无法弄清楚如何做,因为它有一个参数。
有谁知道怎么做?
答案 0 :(得分:14)
您可以替换代码以使用方法参考(查看here),如下所示:
return collection.stream().anyMatch(method::isAnnotationPresent);
基本上,您正在向 Lambda表达式(isAnnotationPresent()方法提供anyMatch 方法 定义,接受Predicate),流中的值将自动作为参数传递给anyMatch方法。
isAnnotationPresent()
anyMatch