SONAR:用带有字符串参数的方法引用替换为lambda

Nan*_* Ba 3 lambda java-8 sonarlint sonarlint-eclipse

 List<String> list;
 //...add something in the list
String value = "anything";
boolean b = list.stream().anyMatch( element -> value.startsWith(element))
Run Code Online (Sandbox Code Playgroud)

我通过方法参考获得有关用lambda替换的声纳信息.但是我必须在String上调用方法引用???

Ant*_*iuc 8

String value = "anything";
boolean b = list.stream().anyMatch( value::startsWith);
Run Code Online (Sandbox Code Playgroud)

或者你甚至不需要声明String value,你可以直接在lambda表达式中使用"任何东西":

list.stream().anyMatch( "anything"::startsWith)
Run Code Online (Sandbox Code Playgroud)