プログラミング Java

【Java入門】Consumerの使い方まとめ

投稿日:2021年6月5日 更新日:

概要

Consumer<T>は消費者と呼ばれる関数型インターフェースで、acceptメソッドを持ちます。
消費者というだけあって戻り値がありません。
また、引数はT型を1つとります、
 

基本的な使い方

関数型インターフェースはラムダ式またはメソッド参照を使うことができます。

ラムダ式

String型の引数を1つとる例です。

実行結果

メソッド参照

メソッド参照は最後のメソッドの手前に「::」を置きます。
()は不要で引数も与えないため、ラムダ式のように「str -> 」という変数名とアロー演算子も不要です。

実行結果

匿名クラス

ラムダ関数は匿名クラスとしても利用できます。
匿名クラスは、その場で定義して使いたいように一時的に定義できるクラスです。

実行結果

その他のメソッド

andThen

Consumerを繋げて処理することができるメソッドです。
andThenでつながっている左辺から順に実行されます。

実行結果

 

特殊化されたインターフェース

2つの引数を指定する

BiConsumer<T,U>
T – 第1引数の型
U – 第2引数の型

Consumerを特殊化して引数を2個取るようにしたものです

実行結果

プリミティブ型の引数を指定する

IntConsumer
Consumerに対してint型に特殊化したインターフェースです。
単一のint値引数を受け取って結果を返さないオペレーション(void型)を表します。

実行結果

他にも、以下があります。
DoubleConsumer
LongConsumer

オブジェクト型とプリミティブ型の引数を指定する

ObjIntConsumer<T>
T -オブジェクト引数の型
※ジェネリクスにプリミティブ型は使えないため指定なし

実行結果

他にも、以下があります。
ObjDoubleConsumer
ObjLongConsumer

 

まとめ

  • Consumerは引数1つを取り、戻り値のない関数型インターフェースである。
  • 複数のConsumerに対して1つの引数をandThenメソッドで連続して処理することができる。
  • 特殊化されたインターフェースが用意されており、それぞれの用途で使うことができる。

その他の関数型インターフェース

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-, , , ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

junit, テスト, junit5

【JUnit5】基本的なAssertionまとめ

概要 JUnit5における基本的なAssertionをまとめました。 検証方法 等価性 値が等価であるかを検証するメソッドです。 以下はorg.junit.jupiter.api.Assertions …

【SpringBoot入門】#4~ headerの作成と埋め込み

概要 全ての画面で使用するヘッダーを作成します。 そして、Index画面に埋め込むところまでを行います。 共通ヘッダーの作成

・&lt …

SQL, Mybatis, OR, O/R

【MyBatis】IN句にパラメータを設定する方法

SpringアプリケーションにおいてMybatisを使用する状況を想定した実装例です。 期待値 IN句に複数のパラメータが設定されたSQL文が発行されること [crayon-64766b0a2945a …

no image

prepareステートメントの挙動について調べてみた

調べるきっかけ PHPでSQLをセキュアに記述する方法としてprepareステートメントが推奨されているが、なぜなのかがわからず、挙動を調べれば自分なりに納得のいく答えがでるのではないかと思ったため。 …

SingletonパターンをJUnitでテストする

シングルトンパターンはインスタンスが1つであることを保証する設計です。 Junitを使って、本当に1つだけなのかを検証してみます。 またその手順をテスト駆動開発に従った手順(Red→Green→リファ …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。