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