作者:手机用户2502853457 | 来源:互联网 | 2023-02-07 10:05
我在intellij中有这个代码:
return collection.stream().anyMatch(annotation ->
method.isAnnotationPresent(annotation));
并且编译器告诉我"method.isAnnotationPresent(annotation)"可以用方法引用替换,我无法弄清楚如何做,因为它有一个参数.
有谁知道怎么做?
1> developer..:
您可以替换您的代码以使用方法参考(请看这里),如下所示:
return collection.stream().anyMatch(method::isAnnotationPresent);
基本上,您将isAnnotationPresent()
方法 定义提供给Lambda表达式(anyMatch
接受Predicate的方法),并且流中的值将自动作为参数传递给anyMatch
方法.