Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/streamToLoop/afterFindFirst.java

75 lines
1.9 KiB
Java

// "Fix all 'Stream API call chain can be replaced with loop' problems in file" "true"
import java.util.List;
import java.util.Optional;
import static java.util.Arrays.asList;
public class Main {
public static Optional<String> testSimple(List<String> list) {
for (String s : list) {
return Optional.of(s);
}
return Optional.empty();
}
public void testAssign(List<String> list) {
String res = "";
for (String s : list) {
String trim = s.trim();
if (!trim.isEmpty()) {
res = trim;
break;
}
}
System.out.println(res);
}
public void testAssignFinal(List<String> list) {
String res = "";
for (String s : list) {
String trim = s.trim();
if (!trim.isEmpty()) {
res = trim;
break;
}
}
System.out.println(res);
}
public static Optional<String> testFlatMap(List<List<String>> list) {
for (List<String> x : list) {
if (x != null) {
for (String s : x) {
return Optional.of(s);
}
}
}
return Optional.empty();
}
public static String testFlatMapLabelConflict(List<List<String>> list) {
String res = null;
OUTER:
for(int i=0; i<10; i++) {
String found = "";
OUTER1:
for (List<String> x : list) {
if (x != null) {
for (String s : x) {
found = s;
break OUTER1;
}
}
}
res = found;
}
return res;
}
public static void main(String[] args) {
System.out.println(testSimple(asList("a", "b", "c")));
System.out.println(testFlatMap(asList(asList(), asList("a"), asList("b", "c"))));
System.out.println(testFlatMapLabelConflict(asList(asList(), asList("a"), asList("b", "c"))));
}
}