您好,欢迎访问一九零五行业门户网

如何在Java 9中实现Flow.Publisher接口?

一个publisher接口是一个提供无限数量的有序元素的提供者,根据从其subscriber(s)接收到的需求进行发布。响应调用publisher.subscribe(subscriber),subscriber上的方法的可能调用顺序。这意味着onsubscribe()方法,后跟无限数量的onnext()方法(根据subscriber的要求),然后是onerror()方法(如果有失败)或oncomplete()方法(当没有更多元素可用时,只要subscription未被取消)。
语法public interface publisher<t> { public void subscribe(subscriber<? super t> s);}
示例import java.util.concurrent.*;import java.util.*;import java.util.stream.*;class simplepublisher implements flow.publisher<integer> { private final iterator<integer> iterator; simplepublisher(int count) { this.iterator = intstream.rangeclosed(1, count).iterator(); } @override public void subscribe(flow.subscriber<? super integer> subscriber) { iterator.foreachremaining(subscriber::onnext); subscriber.oncomplete(); }}public class simplepublisherimpltest { public static void main(string args[]) { new simplepublisher(10).subscribe(new flow.subscriber<>() { @override public void onsubscribe(flow.subscription subscription) { } @override public void onnext(integer item) { system.out.println("item = [" + item + "]"); } @override public void onerror(throwable throwable) { } @override public void oncomplete() { system.out.println("complete"); } }); }}
输出item = [1]item = [2]item = [3]item = [4]item = [5]item = [6]item = [7]item = [8]item = [9]item = [10]complete
以上就是如何在java 9中实现flow.publisher接口?的详细内容。
其它类似信息

推荐信息