Stream.of() 是 Java 8 引入的 Stream API
中的一个静态方法,用于从给定的元素创建一个顺序流(Sequential
Stream)。这个方法非常灵活,允许你直接从一组元素中创建一个流,而不需要这些元素已经存在于某个集合或数组中。这对于快速创建和操作流非常有用。
用法解析
Stream.of() 方法可以接受任意数量的参数,这些参数将作为流中的元素。你可以传递任意类型的参数给这个方法,只要所有参数的类型相同,或者它们之间存在适当的自动装箱/拆箱关系。
语法如下:
Stream<T> Stream.of(T... values)
基本使用
示例 1
import java.util.stream.Stream;
public class StreamOfExample {
public static void main(String[] args) {
Stream<String> stringStream = Stream.of("Hello", "World", "Java", "Stream");
stringStream.forEach(System.out::println);
}
}
这个示例创建了一个包含四个字符串的流,并使用 forEach 方法打印出流中的每个元素。
示例 2
与 filter() 和 sum() 结合使用
import java.util.stream.IntStream;
public class StreamOfFilterSumExample {
public static void main(String[] args) {
IntStream intStream = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sumOfEvens = intStream.filter(n -> n % 2 == 0) // filter() 方法过滤出偶数
.sum(); // 使用 sum() 方法计算这些偶数的和
System.out.println("Sum of even numbers: " + sumOfEvens);
}
}
在这个示例中,我们首先使用 Stream.of() 创建一个整数流,然后使用 filter() 方法过滤出偶数,最后使用 sum() 方法计算这些偶数的和。
总之,Stream.of() 是 Java Stream API 中一个非常有用的静态方法,允许你快速从一组元素中创建一个流。结合其他流操作,如 filter() 和 sum()(对于数值流