流动Java中的Builder accept()方法

流动建造商验收(T) 用于在流的构建阶段将图元插入到图元中。它向正在构建的流中添加一个元素。

null

语法:

void accept(T t)

参数: 此方法接受一个强制参数 T 这是要输入到流中的元素。

例外情况: 这个方法抛出 非法州例外: 当构建器已转换为已构建状态时。这意味着流已经进入了构建阶段,现在不能更改。因此,不能向流中添加更多元素。

下面是示例来说明accept()方法:

例1:

// Java code to show the implementation
// of Stream.Builder accept(T t)
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Declaring an empty Stream
Stream.Builder<String> str_b = Stream.builder();
// Inserting elements into the stream
// using Stream.Builder accept(T t)
str_b.accept( "Geeks" );
str_b.accept( "for" );
str_b.accept( "GeeksforGeeks" );
str_b.accept( "Data Structures" );
str_b.accept( "Geeks Classes" );
// Creating the String Stream
// The stream has now entered the built phase
Stream<String> s = str_b.build();
// printing the elements
System.out.println( "Stream successfully built" );
s.forEach(System.out::println);
}
}


输出:

Stream successfully built
Geeks
for
GeeksforGeeks
Data Structures
Geeks Classes

例2: 来说明非法的例外情况

// Java code to show the implementation
// of Stream.Builder accept(T t)
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Declaring an empty Stream
Stream.Builder<String> str_b = Stream.builder();
// using Stream.Builder accept(T t)
str_b.accept( "5" );
str_b.accept( "6" );
str_b.accept( "7" );
str_b.accept( "8" );
str_b.accept( "9" );
// Creating the String Stream
// The stream has now entered the built phase
Stream<String> s = str_b.build();
// printing the elements
System.out.println( "Stream successfully built" );
s.forEach(System.out::println);
// Trying to add another element into the stream
// Since the Stream is in built phase
// This operation is not possible now
// Hence accept() will throw exception now
try {
str_b.accept( "50" );
}
catch (Exception e) {
System.out.println( "Exception thrown "
+ "when now adding element into the stream: "
+ e);
}
}
}


输出:

Stream successfully built
5
6
7
8
9
Exception thrown when now adding element into the stream: java.lang.IllegalStateException

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享