StreamToLoopInspection: support Iterable.forEach()

This commit is contained in:
Tagir Valeev
2017-01-31 16:29:03 +03:00
parent a47088fa4f
commit c15f721206
4 changed files with 108 additions and 23 deletions
@@ -0,0 +1,22 @@
// "Fix all 'Stream API call chain can be replaced with loop' problems in file" "true"
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Stream;
public class Main {
public void testCast(Object obj, List<Object> list) {
for (Number n : ((Iterable<Number>) obj)) {
list.add(n);
}
}
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b");
for (String s : list) {
System.out.println(s);
}
}
}
@@ -0,0 +1,18 @@
// "Fix all 'Stream API call chain can be replaced with loop' problems in file" "true"
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Stream;
public class Main {
public void testCast(Object obj, List<Object> list) {
((Iterable<Number>)obj).forE<caret>ach(n -> list.add(n));
}
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b");
list.forEach(System.out::println);
}
}