> Java > java지도 시간 > 본문

Java 9에서 Flow.Publisher 인터페이스를 구현하는 방법은 무엇입니까?

王林
풀어 주다: 2023-08-30 17:57:06
앞으로
885명이 탐색했습니다.

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

A Publisher 인터페이스는 구독자로부터 받은 요구에 따라 게시할 주문된 요소를 무제한으로 제공하는 공급자입니다. Subscriber 호출에 대한 응답으로 Publisher.subscribe(Subscriber)에서 가능한 메서드 호출 순서. 이는 onSubscribe() 메서드, 그 뒤에 무제한의 onNext() 메서드(Subscriber에서 요구하는 대로), 그리고 onError() 메서드(실패한 경우) 또는 onComplete() 메소드(더 이상 사용할 수 있는 요소가 없는 경우, 구독이 취소되지 않은 경우).

구문

<strong>public interface Publisher<T> {
   public void subscribe(Subscriber<? super T><!--? super T--> s);
}</strong>
로그인 후 복사

import java.util.concurrent.*;
import java.util.*;
import java.util.stream.*;

class SimplePublisher implements <strong>Flow.Publisher<Integer></strong> {
   private final <strong>Iterator<Integer></strong> iterator;
   SimplePublisher(int count) {
      this.iterator = <strong>IntStream</strong>.rangeClosed(1, count).iterator();
   }
   <strong>@Override</strong>
   public void <strong>subscribe</strong>(<strong>F</strong><strong>low.Subscriber<? super Integer></strong><!--? super Integer--> subscriber) {
      iterator.<strong>forEachRemaining</strong>(<strong>subscriber::onNext</strong>);
      subscriber.<strong>onComplete()</strong>;
   }
}

public class SimplePublisherImplTest {
   public static void main(String args[]) {
      new SimplePublisher(10).<strong>subscribe</strong>(new <strong>Flow.Subscriber<>()</strong> {
         <strong>@Override</strong>
         public void <strong>onSubscribe</strong>(<strong>Flow.Subscription</strong> subscription) {
         }
         <strong>@Override</strong>
         public void <strong>onNext</strong>(Integer item) {
            System.out.println("item = [" + item + "]");
         }
         <strong>@Override</strong>
         public void <strong>onError</strong>(Throwable throwable) {
         }
         <strong>@Override</strong>
         public void <strong>onComplete()</strong> {
            System.out.println("complete");
         }
      });
   }
}
로그인 후 복사

출력

<strong>item = [1]
item = [2]
item = [3]
item = [4]
item = [5]
item = [6]
item = [7]
item = [8]
item = [9]
item = [10]
complete</strong>
로그인 후 복사

위 내용은 Java 9에서 Flow.Publisher 인터페이스를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!