mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-22 14:50:53 +07:00
49 lines
1.3 KiB
Java
49 lines
1.3 KiB
Java
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Stream;
|
|
|
|
class MethodReferenceTest {
|
|
|
|
private final List<String> strings = Arrays.asList("One,Two", "Three,Four,Five");
|
|
|
|
public static Stream<String> split(String csv) {
|
|
return Arrays.asList(csv.split(",")).stream();
|
|
}
|
|
|
|
public void testMethodReference() {
|
|
List<String> list = strings.stream()
|
|
.flatMap(MethodReferenceTest::split)
|
|
.collect(Collectors.toList());
|
|
|
|
}
|
|
|
|
public void testLambda() {
|
|
List<String> list = strings.stream()
|
|
.flatMap((t) -> MethodReferenceTest.split(t))
|
|
.collect(Collectors.toList());
|
|
}
|
|
|
|
public void testMethodReferenceWithCast() {
|
|
List<String> list = strings.stream()
|
|
.flatMap((Function<String,Stream<String>>)MethodReferenceTest::split)
|
|
.collect(Collectors.toList());
|
|
|
|
}
|
|
|
|
public void testAnonymousInnerClass() {
|
|
List<String> strings = Arrays.asList("One,Two", "Three,Four,Five");
|
|
|
|
List<String> list = strings.stream()
|
|
.flatMap(new Function<String, Stream<String>>() {
|
|
@Override
|
|
public Stream<String> apply(String s) {
|
|
return Arrays.asList(s.split(",")).stream();
|
|
}
|
|
})
|
|
.collect(Collectors.toList());
|
|
|
|
}
|
|
} |