【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問ほどしか出題されない可能性があります。
これは徹底攻略Java SE 11 Silver問題集[1Z0-815]対応(通称:黒本)の模擬試験2回分を調べた結果なので、実際の試験でも必ず2問しか出ないというわけではないことはご承知おき下さい。
(もし出題されても2問程度なので、どうしてもわからない場合は最初から捨てるという選択もできるという意味でお伝えさせて頂いています)

まとめ

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

最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

リーマンショックの影響で26歳の時にIT業界から離れ、紆余曲折を経て34歳でエンジニアに復帰しました。
復帰前は開発未経験でしたが、独学した知識と面接時のコミュニケーション力で見事開発エンジニアとして復帰しました!
今はフリーランスエンジニアとして仕事をしています。

■保有資格
・Java Gold SE 11

コメント

コメントする

CAPTCHA


目次