LambdaCanBeMethodCallInspection: support Java11 Pattern.asMatchPredicate()

IDEA-199626 Suggest Java 11 Pattern.asMatchPredicate() instead of x -> pattern.matcher(x).matches()
This commit is contained in:
Tagir Valeev
2018-09-28 10:52:00 +07:00
parent 756791a256
commit 003aa20f96
4 changed files with 62 additions and 17 deletions

View File

@@ -0,0 +1,16 @@
// "Replace lambda expression with 'Pattern.asMatchPredicate()'" "true"
import java.util.Objects;
import java.util.Optional;
import java.util.function.UnaryOperator;
import java.util.regex.Pattern;
public class Main {
private final Pattern pattern = Pattern.compile("[a-z]");
public <T extends CharSequence> void test() {
Object str = "def";
String xyz = Optional.of("xyz").map(x -> x).filter(x -> Objects.equals(x, str))
.filter(pattern.asMatchPredicate()).orElse("");
UnaryOperator<T> op = x -> x;
}
}

View File

@@ -0,0 +1,16 @@
// "Replace lambda expression with 'Pattern.asMatchPredicate()'" "true"
import java.util.Objects;
import java.util.Optional;
import java.util.function.UnaryOperator;
import java.util.regex.Pattern;
public class Main {
private final Pattern pattern = Pattern.compile("[a-z]");
public <T extends CharSequence> void test() {
Object str = "def";
String xyz = Optional.of("xyz").map(x -> x).filter(x -> Objects.equals(x, str))
.filter(str <caret>-> pattern.matcher(str).matches()).orElse("");
UnaryOperator<T> op = x -> x;
}
}

View File

@@ -0,0 +1,16 @@
// "Replace lambda expression with 'Pattern.asMatchPredicate()'" "false"
import java.util.Objects;
import java.util.Optional;
import java.util.function.UnaryOperator;
import java.util.regex.Pattern;
public class Main {
private final Pattern pattern = Pattern.compile("[a-z]");
public <T extends CharSequence> void test() {
Object str = "def";
String xyz = Optional.of("xyz").map(x -> x).filter(x -> Objects.equals(x, str))
.filter(str <caret>-> pattern.matcher(str).matches()).orElse("");
UnaryOperator<T> op = x -> x;
}
}