10. ラムダ式と関数型インターフェース

Chapter 10

ラムダ式と関数型インターフェースの用語を順に解説します。

ラムダ式 | Java SE 17 Programmer I

ラムダ式とは ラムダ式(Lambda Expression)とは、Java SE 8で導入された、関数(処理ブロック)を名前のない簡潔な式として記述し、まるで「値」のように変数に代入したりメソッドの引数として渡したりできるようにする無名関数構文です。 アロー演算子 -> を使用して (パラメータ) -> { 処理本体 } の形式で記述します。 従来の匿名内部クラス(Anonymous Inner Class)を用いた冗長な記述を劇的に簡略化することができ、コレクションのループ処理やフィルタリング、並列処理などを宣言

記事を読む この本で読む

関数型インターフェース | Java SE 17 Programmer I

関数型インターフェースとは 関数型インターフェース(Functional Interface)とは、「未実装の抽象メソッド(abstract メソッド)をちょうど1つだけ持つ」ように設計された特別なインターフェースのことです。 Java SE 8で導入され、ラムダ式やメソッド参照を受け取るための型(型アノテーション・ターゲット型)として機能します。 クラス定義に @FunctionalInterface アノテーションを付与することで、コンパイラに対してそのインターフェースが関数型インターフェースの条件(抽象メソッ

記事を読む この本で読む

レコードクラス | Java SE 17 Programmer I

レコードクラスとは レコードクラス(Record Class)とは、Java SE 14でプレビュー導入され、Java SE 16で正式機能となった、浅く不変(イミュータブル)なデータキャリア(データ保持用クラス)を簡潔に定義するための特別なクラス構造です。 record キーワードを用いて宣言し、ヘッダーに構成要素(コンポーネント)を指定するだけで、全フィールドに対する private final フィールドの生成、全コンポーネントを取得するアクセサ(ゲッター)メソッド、全フィールドを初期化する正規コンストラクタ

記事を読む この本で読む

テキストブロック | Java SE 17 Programmer I

テキストブロックとは テキストブロック(Text Block)とは、Java SE 13でプレビュー導入され、Java SE 15で正式機能となった、複数行にわたる文字列リテラルを改行やダブルクォーテーションのエスケープを行わずに直感的に記述できる構文機能です。 3個のダブルクォーテーション(""")で囲むことによって宣言されます。 HTML, XML, JSON, SQL クエリなどの改行や引用符を多用する複雑なテキスト文字列を、Javaソースコード内にそのままの見た目で綺麗に埋め込むことができるため、コードの視

記事を読む この本で読む

try-with-resources | Java SE 17 Programmer I

try-with-resourcesとは try-with-resourcesはAutoCloseableを実装したリソースをtryの丸括弧で宣言し、正常終了でも例外終了でも自動的にcloseする構文です。 具体例 ファイルやストリームを複数指定した場合は宣言と逆順にcloseされます。通常のtry-finallyと比べ、クローズ漏れと元の例外の消失を避けやすい構文です。 もう少し詳しく この用語は単独で暗記せず、目的、入力、処理、結果、適用できない境界の順に説明できるようにします。実務では前提条件と評価基準を明記

記事を読む この本で読む

カスタム例外 | Java SE 17 Programmer I

カスタム例外とは カスタム例外は業務固有の異常を型で表すためにExceptionまたはRuntimeExceptionなどを継承して定義する例外クラスです。 具体例 呼出し側に処理を強制したい検査例外と、プログラム上の前提違反を表す非検査例外では、継承元とthrowsの扱いが異なります。 もう少し詳しく この用語は単独で暗記せず、目的、入力、処理、結果、適用できない境界の順に説明できるようにします。実務では前提条件と評価基準を明記し、期待した結果と実測結果を区別します。 似た用語を見分けるときは、誰が何を判断するの

記事を読む この本で読む

multi-catch | Java SE 17 Programmer I

multi-catchとは multi-catchは同じ処理を行う複数の例外型を一つのcatchで縦棒により列挙する構文です。 具体例 catch (IOException | SQLException e) のように書きます。選択肢の例外型に継承関係がある組合せは指定できず、捕捉変数へ別オブジェクトを再代入できません。 もう少し詳しく この用語は単独で暗記せず、目的、入力、処理、結果、適用できない境界の順に説明できるようにします。実務では前提条件と評価基準を明記し、期待した結果と実測結果を区別します。 似た用語を

記事を読む この本で読む
試験でのポイント

公式資料へのリンクと確認日を各記事に掲載しています。