インタフェース
java.util.function.Supplierの使用

Supplierを使用しているパッケージ 
パッケージ 説明
java.lang
Javaプログラミング言語の設計にあたり基本的なクラスを提供します。
java.lang.module
モジュール記述子をサポートし、解決とサービス・バインディングによってモジュールの構成を作成するクラス。
java.net.http
HTTPクライアントおよびWebSocket API
java.util
コレクション・フレームワーク、国際化サポート・クラス、サービス・ローダー、プロパティ、乱数生成、文字列解析とスキャン・クラス、Base64エンコーディングとデコード、ビット配列、およびその他のユーティリティ・クラスが含まれています。
java.util.concurrent
並行プログラミングでよく使用されるユーティリティ・クラスです。
java.util.logging
Java™ 2プラットフォームのコア・ロギング機能のクラスとインタフェースを提供します。
java.util.stream
コレクションに対するマップ-リデュース変換など、要素のストリームに対する関数型の操作をサポートするクラスです。
jdk.dynalink.linker
独自の言語固有のオブジェクト・モデルと型変換を実装するために、言語ランタイムに必要なインタフェースとクラスが含まれています。
jdk.jshell
Javaプログラミング言語コードの"snippets"をインタラクティブに評価するRead-Eval-Printループ(REPL)などのツールを作成するためのインタフェースを提供します。
  • java.langでのSupplierの使用

    Supplier型のパラメータを持つjava.langのメソッド 
    修飾子と型 メソッド 説明
    default void System.Logger.log​(System.Logger.Level level, Supplier<String> msgSupplier)
    遅延メッセージを記録します。
    default void System.Logger.log​(System.Logger.Level level, Supplier<String> msgSupplier, Throwable thrown)
    指定されたスロー可能オブジェクトに関連付けられた遅延メッセージを記録します。
    static <S> ThreadLocal<S> ThreadLocal.withInitial​(Supplier<? extends S> supplier)
    スレッド・ローカル変数を作成します。
  • java.lang.moduleでのSupplierの使用

    Supplierのパラメータを持つjava.lang.moduleのメソッド
    修飾子と型 メソッド 説明
    static ModuleDescriptor ModuleDescriptor.read​(InputStream in, Supplier<Set<String>> packageFinder)
    モジュール記述子のバイナリ形式を入力ストリームからモジュール記述子として読み込みます。
    static ModuleDescriptor ModuleDescriptor.read​(ByteBuffer bb, Supplier<Set<String>> packageFinder)
    モジュール記述子のバイナリ形式をバイト・バッファからモジュール記述子として読み込みます。
  • java.net.httpでのSupplierの使用

    Supplierのパラメータを持つjava.net.httpのメソッド
    修飾子と型 メソッド 説明
    static HttpRequest.BodyPublisher HttpRequest.BodyPublishers.ofInputStream​(Supplier<? extends InputStream> streamSupplier)
    InputStreamからデータを読み取るリクエスト・ボディ・パブリッシャ。
  • java.utilでのSupplierの使用

    java.utilSupplierのサブインタフェース
    修飾子と型 インタフェース 説明
    static interface  ServiceLoader.Provider<S>
    ServiceLoaderが位置するサービス・プロバイダを表します。
    Supplier型のパラメータを持つjava.utilのメソッド 
    修飾子と型 メソッド 説明
    Optional<T> Optional.or​(Supplier<? extends Optional<? extends T>> supplier)
    値が存在する場合は値を記述するOptionalを返し、そうでない場合は供給関数によって生成されたOptionalを返します。
    T Optional.orElseGet​(Supplier<? extends T> supplier)
    値が存在する場合は値を返し、そうでない場合は供給関数によって生成された結果を返します。
    <X extends Throwable>
    T
    Optional.orElseThrow​(Supplier<? extends X> exceptionSupplier)
    値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。
    <X extends Throwable>
    double
    OptionalDouble.orElseThrow​(Supplier<? extends X> exceptionSupplier)
    値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。
    <X extends Throwable>
    int
    OptionalInt.orElseThrow​(Supplier<? extends X> exceptionSupplier)
    値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。
    <X extends Throwable>
    long
    OptionalLong.orElseThrow​(Supplier<? extends X> exceptionSupplier)
    値が存在する場合は値を返し、そうでない場合は例外を提供する関数によって生成された例外をスローします。
    static <T> T Objects.requireNonNull​(T obj, Supplier<String> messageSupplier)
    指定されたオブジェクト参照がnullでないことを確認し、nullの場合はカスタマイズされたNullPointerExceptionをスローします。
    static <T> T Objects.requireNonNullElseGet​(T obj, Supplier<? extends T> supplier)
    null以外の場合は最初の引数を返し、そうでなければsupplier.get()の非null値を返します。
  • java.util.concurrentでのSupplierの使用

    Supplier型のパラメータを持つjava.util.concurrentのメソッド 
    修飾子と型 メソッド 説明
    CompletableFuture<T> CompletableFuture.completeAsync​(Supplier<? extends T> supplier)
    このCompletableFutureを、デフォルトExecutorを使用して非同期タスクから呼び出された、指定されたSupplier関数の結果で完了させます。
    CompletableFuture<T> CompletableFuture.completeAsync​(Supplier<? extends T> supplier, Executor executor)
    指定されたExecutorを使用して非同期タスクから呼び出された、指定されたSupplier関数の結果でこのCompletableFutureを完了します。
    static <U> CompletableFuture<U> CompletableFuture.supplyAsync​(Supplier<U> supplier)
    ForkJoinPool.commonPool()で実行されているタスクが指定されたサプライヤを呼び出して取得した値を使用して非同期的に完了する新しいCompletableFutureを返します。
    static <U> CompletableFuture<U> CompletableFuture.supplyAsync​(Supplier<U> supplier, Executor executor)
    指定されたエグゼキュータで実行されているタスクが指定されたサプライヤを呼び出して取得した値を使用して非同期的に完了する新しいCompletableFutureを返します。
  • java.util.loggingでのSupplierの使用

    Supplier型のパラメータを持つjava.util.loggingのメソッド 
    修飾子と型 メソッド 説明
    void Logger.config​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、CONFIGメッセージのログを記録します。
    void Logger.fine​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、FINEメッセージのログを記録します。
    void Logger.finer​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、FINERメッセージのログを記録します。
    void Logger.finest​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、FINESTメッセージのログを記録します。
    void Logger.info​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、INFOメッセージのログを記録します。
    void Logger.log​(Level level, Throwable thrown, Supplier<String> msgSupplier)
    関連するThrowable情報を含む、遅延構築されたメッセージのログを記録します。
    void Logger.log​(Level level, Supplier<String> msgSupplier)
    メッセージが実際に記録されるロギング・レベルである場合にのみ構築される、メッセージのログを記録します。
    void Logger.logp​(Level level, String sourceClass, String sourceMethod, Throwable thrown, Supplier<String> msgSupplier)
    ソース・クラスとメソッドを指定し、関連するThrowable情報を含む遅延構築されたメッセージのログを記録します。
    void Logger.logp​(Level level, String sourceClass, String sourceMethod, Supplier<String> msgSupplier)
    ソース・クラスとメソッドを指定する、引数のない遅延構築されたメッセージのログを記録します。
    void Logger.severe​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、SEVEREメッセージのログを記録します。
    void Logger.warning​(Supplier<String> msgSupplier)
    メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、WARNINGメッセージのログを記録します。
  • java.util.streamでのSupplierの使用

    Supplierを返すjava.util.streamのメソッド 
    修飾子と型 メソッド 説明
    Supplier<A> Collector.supplier()
    新しい可変結果コンテナを作成して返す関数。
    Supplier型のパラメータを持つjava.util.streamのメソッド 
    修飾子と型 メソッド 説明
    <R> R DoubleStream.collect​(Supplier<R> supplier, ObjDoubleConsumer<R> accumulator, BiConsumer<R,​R> combiner)
    このストリームの要素に対して可変リダクション操作を実行します。
    <R> R IntStream.collect​(Supplier<R> supplier, ObjIntConsumer<R> accumulator, BiConsumer<R,​R> combiner)
    このストリームの要素に対して可変リダクション操作を実行します。
    <R> R LongStream.collect​(Supplier<R> supplier, ObjLongConsumer<R> accumulator, BiConsumer<R,​R> combiner)
    このストリームの要素に対して可変リダクション操作を実行します。
    <R> R Stream.collect​(Supplier<R> supplier, BiConsumer<R,​? super T> accumulator, BiConsumer<R,​R> combiner)
    このストリームの要素に対して可変リダクション操作を実行します。
    static DoubleStream StreamSupport.doubleStream​(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)
    Spliterator.OfDoubleSupplierから順次または並列の新しいDoubleStreamを作成します。
    static <T> Stream<T> Stream.generate​(Supplier<? extends T> s)
    指定されたSupplierによって生成される要素を含む、順序付けされていない無限順次ストリームを返します。
    static <T,​ K,​ D,​ A,​ M extends Map<K,​ D>>
    Collector<T,​?,​M>
    Collectors.groupingBy​(Function<? super T,​? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,​A,​D> downstream)
    分類関数に従って要素をグループ化した後、指定された下流Collectorを使って特定のキーに関連付けられた値のリダクション操作を実行する、T型の入力要素に対するカスケード「グループ化」操作を実装したCollectorを返します。
    static <T,​ K,​ A,​ D,​ M extends ConcurrentMap<K,​ D>>
    Collector<T,​?,​M>
    Collectors.groupingByConcurrent​(Function<? super T,​? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,​A,​D> downstream)
    分類関数に従って要素をグループ化した後、指定された下流Collectorを使って特定のキーに関連付けられた値のリダクション操作を実行する、T型の入力要素に対するカスケード「グループ化」操作を実装した並行Collectorを返します。
    static IntStream StreamSupport.intStream​(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)
    Spliterator.OfIntSupplierから順次または並列の新しいIntStreamを作成します。
    static LongStream StreamSupport.longStream​(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)
    Spliterator.OfLongSupplierから順次または並列の新しいLongStreamを作成します。
    static <T,​ A,​ R> Collector<T,​A,​R> Collector.of​(Supplier<A> supplier, BiConsumer<A,​T> accumulator, BinaryOperator<A> combiner, Function<A,​R> finisher, Collector.Characteristics... characteristics)
    指定されたsupplieraccumulatorcombiner、およびfinisher関数で記述される新しいCollectorを返します。
    static <T,​ R> Collector<T,​R,​R> Collector.of​(Supplier<R> supplier, BiConsumer<R,​T> accumulator, BinaryOperator<R> combiner, Collector.Characteristics... characteristics)
    指定されたsupplieraccumulator、およびcombiner関数で記述される新しいCollectorを返します。
    static <T> Stream<T> StreamSupport.stream​(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)
    SpliteratorSupplierから順次または並列の新しいStreamを作成します。
    static <T,​ C extends Collection<T>>
    Collector<T,​?,​C>
    Collectors.toCollection​(Supplier<C> collectionFactory)
    入力要素を検出順に新しいCollectionに蓄積するCollectorを返します。
    static <T,​ K,​ U,​ M extends ConcurrentMap<K,​ U>>
    Collector<T,​?,​M>
    Collectors.toConcurrentMap​(Function<? super T,​? extends K> keyMapper, Function<? super T,​? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapFactory)
    ConcurrentMap内に要素を累積する並行Collectorを返します(指定されたマッピング関数を入力要素に適用した結果が、マップのキーと値になる)。
    static <T,​ K,​ U,​ M extends Map<K,​ U>>
    Collector<T,​?,​M>
    Collectors.toMap​(Function<? super T,​? extends K> keyMapper, Function<? super T,​? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapFactory)
    Map(そのキーと値は指定されたマッピング関数を入力要素に適用した結果である)内に要素を蓄積するCollectorを返します。
  • jdk.dynalink.linkerでのSupplierの使用

    Supplierを実装しているjdk.dynalink.linkerのクラス
    修飾子と型 クラス 説明
    class  GuardingDynamicLinkerExporter
    他の言語ランタイムによって自動的に読み込まれるダイナミック・リンカーを保護するサプライヤとして機能するクラス。
    Supplierのパラメータを持つjdk.dynalink.linkerのメソッド
    修飾子と型 メソッド 説明
    GuardedInvocation GuardingTypeConverterFactory.convertToType​(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier)
    指定されたソース型の値を受け取り、指定されたターゲット型に変換された値を返す保護された型変換を返します。
    <T> T LinkerServices.getWithLookup​(Supplier<T> operation, SecureLookupSupplier lookupSupplier)
    特定のMethodHandles.Lookup検索オブジェクトのコンテキスト内で操作を実行します。
  • jdk.jshellでのSupplierの使用

    Supplierのパラメータを持つjdk.jshellのメソッド
    修飾子と型 メソッド 説明
    JShell.Builder JShell.Builder.tempVariableNameGenerator​(Supplier<String> generator)
    Snippet.SubKind.TEMP_VAR_EXPRESSION_SUBKINDVarSnippetの一時変数名のジェネレータを設定します。