Java中的 DoubleStream.Builder build()
DoubleStream.Builder build() 构建流,将此构建器转换为构建状态。
句法 :
DoubleStream build()
返回值:此方法返回构建的流。
注意:流构建器有一个生命周期,从构建阶段开始,在此期间可以添加元素,然后过渡到构建阶段,之后可能无法添加元素。构建阶段从调用 build() 方法开始,该方法创建一个有序流,其元素是按添加顺序添加到流构建器的元素。
以下是说明 build() 方法的示例:
示例 1:
// Java code to show the implementation
// of DoubleStream.Builder build()
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a Stream in building phase
DoubleStream.Builder b = DoubleStream.builder();
// Adding elements into the stream
b.add(1.2);
b.add(2.4);
b.add(3.87);
b.add(4.78);
// Constructing the built stream using build()
// This will enter the stream in built phase
b.build().forEach(System.out::println);
}
}
输出:
1.2
2.4
3.87
4.78
示例 2:在调用 build() 方法后尝试添加元素(当流处于构建阶段时)。
// Java code to show the implementation
// of DoubleStream.Builder build()
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a Stream in building phase
DoubleStream.Builder b = DoubleStream.builder();
// Adding elements into the stream
b.add(1.2);
b.add(2.4);
b.add(3.87);
b.add(4.78);
// Constructing the built stream using build()
// This will enter the stream in built phase
// Now no more elements can be added to this stream
b.build().forEach(System.out::println);
// Trying to add more elements in built phase
// This will cause exception
try {
b.add(50.547);
}
catch (Exception e) {
System.out.println("\nException: " + e);
}
}
}
输出:
1.2
2.4
3.87
4.78
Exception: java.lang.IllegalStateException