[Android] lambda ラムダ式とは



lambda

 
Java8の機能の1つで関数型プログラミングを行うために導入され、Android Studio 2.4 辺りから使えるようになりました。

何がメリットかと言うと、匿名クラスの記述を簡略化できることでしょう。
逆に簡略化されて入門者は理解しずらいとも思います

ただ関数型プログラミングはバグを減らすために有効とされているので避けて通れないところです。
 

 

lambda変換

 
ラムダ式は、関数型インタフェースのメソッドの、1つの抽象メソッドしか持たないインターフェースに使用できます。

アロー演算子「->」を使い (引数,引数,…) -> {何かの処理} という書き方ができるもの

具体的に Button の実装で見て見ると、

Android Studio 上でこれにマウスをかざすとRecomendationが現れます

as4 lambda 01 - [Android] lambda ラムダ式とは

new View.OnClickListener()をlambdaに置き換えられるというので
「Alt+Shitf+Enter」を実行するとlambda式に変更されました。

 

省略手順

 
setOnClickListener()は引数にOnClickListenerというインターフェースをとります

OnClickListenerは、onClick()という抽象メソッドが1つだけ定義されたインターフェースであり、onClick()が必ず呼ばれるため省略できるわけです。

アロー演算子「->」を使って簡略化すると、

更に、引数の型も省略でき、引数が1つであれば()も省略できるので

といった記述になります。

ここまでは statement lambda ですが、更に
expression lambda にすることもできます。


2行になってしまいました。

更にもっと詳しく知りたいのであればこちらの記事が分かりやすいかもしれません
 

コードを書く技術者にフォーカスしたメディア+コミュニティです - builder by ZDNet Japan

 
 
This beginner Java tutorial describes fundamentals of programming in the Java programming language

 

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加

 

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。


TECH ACADEMY
Androidアプリコース


こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。




シェアする

  • このエントリーをはてなブックマークに追加

フォローする