Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/streamToLoop/beforeTakeDrop.java
Tagir Valeev 7e1064ea3c [java-intentions] More preview tests; minor fixes
GitOrigin-RevId: 22a46c15d8900d8a31514846755a013f6a67ad42
2022-07-29 17:55:13 +00:00

30 lines
878 B
Java

// "Replace Stream API chain with loop" "true-preview"
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Test {
// Mock Java 9 methods with inheritor
interface MyStream<T> extends Stream<T> {
<R> MyStream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper);
MyStream<T> takeWhile(Predicate<? super T> predicate);
MyStream<T> dropWhile(Predicate<? super T> predicate);
static <T> MyStream<T> of(List<T> list) {
return null;
}
}
public static void test(List<String> data) {
List<String> xyz = MyStream.of(data)
.flatMap(s -> Stream.of(s, s + s)).takeWhile(s -> !s.isEmpty())
.dropWhile(s -> s.length() < 3).col<caret>lect(Collectors.toList());
System.out.println(xyz);
}
}