📜  Java中的 DoubleStream.Builder build()

📅  最后修改于: 2022-05-13 01:55:08.861000             🧑  作者: Mango

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