Что такое лучший метод разделения строки на поток?
Я видел эти варианты:
-
Arrays.stream("b,l,a".split(","))
-
Stream.of("b,l,a".split(","))
-
Pattern.compile(",").splitAsStream("b,l,a")
Мои приоритеты:
- Надёжность
- читабельность
- Производительность
Полный, компилируемый пример:
import java.util.Arrays;
import java.util.regex.Pattern;
import java.util.stream.Stream;
public class HelloWorld {
public static void main(String[] args) {
stream1().forEach(System.out::println);
stream2().forEach(System.out::println);
stream3().forEach(System.out::println);
}
private static Stream<String> stream1() {
return Arrays.stream("b,l,a".split(","));
}
private static Stream<String> stream2() {
return Stream.of("b,l,a".split(","));
}
private static Stream<String> stream3() {
return Pattern.compile(",").splitAsStream("b,l,a");
}
}