blob: f360a9cf8f4448ae00e8cf7683ecaf18e94dbe03 [file] [log] [blame]
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());
}
}