EndlessStreamInspection created: IDEA-155216

This commit is contained in:
Roman Ivanov
2018-01-11 17:34:23 +07:00
parent 52ffac3745
commit b77e1f16be
10 changed files with 197 additions and 18 deletions
@@ -0,0 +1,11 @@
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
public class Collect {
public static void main(String[] args) {
new Random().ints().boxed().<warning descr="Non-short-circuit operation consumes the infinite stream">collect</warning>(Collectors.toList());
new Random().doubles().boxed().<warning descr="Non-short-circuit operation consumes the infinite stream">collect</warning>(Collectors.toList());
new Random().longs().boxed().<warning descr="Non-short-circuit operation consumes the infinite stream">collect</warning>(Collectors.toList());
}
}
@@ -0,0 +1,9 @@
import java.util.stream.IntStream;
public class Limited {
public static void main(String[] args) {
int sum1 = IntStream.iterate(0, i -> i + 1).limit(10).sum();
int sum2 = IntStream.iterate(0, i -> i < 10, i -> i + 1).sum();
System.out.println(IntStream.iterate(0, i -> i + 1).takeWhile(value -> value < 54).sorted().sum());
}
}
@@ -0,0 +1,8 @@
import java.util.stream.LongStream;
public class Sorted {
public static void main(String[] args) {
long sum1 = LongStream.iterate(0, i -> i + 1).<warning descr="Non-short-circuit operation consumes the infinite stream">sorted</warning>().limit(10).sum();
long sum2 = LongStream.generate(() -> 10).<warning descr="Non-short-circuit operation consumes the infinite stream">sorted</warning>().limit(10).sum();
}
}