プログラミング Java

【Java入門】ラムダ式の基本構文と変数スコープ

投稿日:

概要

Javaにおけるラムダ式について解説します。

ラムダ式とは?

OracleのJavaドキュメントに簡潔な説明があったので引用したいと思います。

Lambda expressions enable you to do this, to treat functionality as method argument, or code as data.

ラムダ式を使用すると、機能をメソッド引数として処理したり、コードをデータとして扱うことができます。

まだ「?」という方は、これからわかっていくので、そういうものなんだなぁと思っておいてください。

基本構文

関数型インターフェースの型 変数名 = (引数) -> {処理};

関数型インターフェースには以下があります。

変数スコープ

・ラムダ式の変数はローカル変数と重複してはならない
以下のように、ローカル変数:strと同じ変数名をラムダ式の引数に指定すると、ローカル変数の再定義をしているとみなされてコンパイルエラーになります。

 
・ラムダ式の処理で再利用できる変数はfinalまたは実質的にfinalある必要がある
 othreStrをラムダ式の行のあとで、modifyメソッドで上書きする処理をしています。
 これにより、othreStrは実質的にfinalではなくなるため、コンパイルエラーになります。

 

試験対策

Java Silverを受験する場合に押さえて置くポイントについてです。

理解しておくべきは、個々の関数型インターフェースの特徴と基本的な使い方です。
あとは、変数のスコープといったところです。

Java Silverの試験ではラムダ式に関しては2問ほどしか出題されない可能性があります。
これは黒本の模擬試験2回分を調べた結果なので、実際の試験でも必ず2問しか出ないというわけではないことはご承知おき下さい。
(もし出題されても2問程度なので、どうしてもわからない場合は最初から捨てるという選択もできるという意味でお伝えさせて頂いています)
 

まとめ

  • ラムダ式とは、機能をメソッド引数として処理したり、コードをデータとして扱うことができるものである。
  • 基本構文は、関数型インターフェースの型 変数名 = (引数) -> {処理}; である。
  • 変数スコープにおいては以下2点に注意する。
    ・ラムダ式の変数はローカル変数と重複してはならない
    ・ラムダ式の処理で再利用できる変数はfinalまたは実質的にfinalある必要がある
  • Java Silverの試験にラムダ式は2問ほどしか出題されない想定である。

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

ランキング評価する

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

執筆者:


comment

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

CAPTCHA


関連記事

【JUnit5】テストコードの基本

概要 JUnit5でテストコードを書く基本について学ぶ。 テストの命名規則 テストクラス、テストメソッドの記述には一般的な慣例があります。 ここではそれらを紹介しますが、実際にはプロジェクト内でのコー …

【Java】文字列の完全一致と部分一致を判定する方法

Stringオブジェクトのmatches、containsメソッドを使った説明です。 戻り値:boolean   完全一致 説明 完全一致は文字列が同じであることを判定するだけです。 そのた …

エンジニア未経験者の転職が難しくなったので解決策を提案してみる

現状 コロナ以降、未経験者のエンジニア採用が少しずつなくなっていきました。 それまではポートフォリオを作ったり、ある程度のポテンシャルがあると判断されれば 採用されるということがあったのですが、それが …

CompsiteパターンでHTMLタグを実現するには?

Compositeパターンに応用できそうなものとして、 HTMLタグなんかいいかと思いコーディングしてみました。   クラス図   説明 Compositeパターンは再帰構造を実現 …

あなたが読み難いコードを書いてしまう理由

はじめに 読みやすいコードを書きたい人と願う方のために執筆しました。 誰もが良いコードを書きたいと願っているはずだからです。(と私は信じています) というもの、後で自分が読み直した時、誰かにレビューを …

記事を探す

SpringFramworkの良書

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

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