📅  最后修改于: 2023-12-03 15:31:52.523000             🧑  作者: Mango
在Java 8中,新增了一个Stream API,提供了一组用于操作集合、数组等数据结构的方法,其中 from() 方法就是用于将集合、数组等数据结构转化为 Stream 对象的方法。下面我们来详细了解一下 from() 方法的用法和示例。
public static <T> Stream<T> from(T[] array)
public static <T> Stream<T> from(Collection<T> collection)
from() 方法有两个重载版本,一个是将数组转换为 Stream,另一个是将集合转换为 Stream。这两个方法的返回值都是一个 Stream 对象,在使用时可以进行流式操作。
String[] arr = {"apple", "banana", "orange"};
Stream<String> stream = Stream.from(arr);
stream.forEach(System.out::println);
输出结果:
apple
banana
orange
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Stream<String> stream = Stream.from(list);
stream.forEach(System.out::println);
输出结果:
apple
banana
orange
在使用 from() 方法时,需要注意传入的数组或集合不能为 null,否则会抛出 NullPointerException 异常。如果要处理空数组或空集合,可以使用 Stream 中的 empty() 方法创建一个空流。
String[] arr = new String[]{};
Stream<String> stream = arr.length == 0 ? Stream.empty() : Stream.from(arr);
stream.forEach(System.out::println);
输出结果:
from() 方法是将集合、数组等数据结构转换为 Stream 对象的重要方法之一。通过 from() 方法,可以快速将集合和数组转换为 Stream 对象,并进行流式操作。在使用 from() 方法时,需要注意传入的数组或集合不能为 null,否则会抛出 NullPointerException 异常。