Search code examples
lambdajava-8sonarlintsonarlint-eclipse

SONAR: Replace with lambda with a method reference with a string parameter


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

I get the sonar information about Replace with lambda with a method reference. But I have to call method reference on String ???


Solution

  • String value = "anything";
    boolean b = list.stream().anyMatch( value::startsWith);
    

    Or you don't even need to declare String value, you can use "anything" directly in the lambda expression:

    list.stream().anyMatch( "anything"::startsWith)