これは何と言うのでしょうか。
たまに見かけるのですが、何かの省略形でしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
過去の質問をみると質問者さんはJava/Javascriptどちらもおやりになるようですので・・・
Java(Java8以降): ラムダ式(lambda expression)
例:
(Type1 arg1, Type2 arg2) ->
...
(arg1, arg2) ->
...
Javascript(ES2015(ES6)以降): アロー関数(arrow function)
例:
(arg1, arg2) =>
...
詳しくは上記のキーワードで調べればよいです。
投稿2017/11/26 10:07
総合スコア18394
0
「=>」ではなく「->」ですよね?
Java 8から新しく言語仕様に導入された「ラムダ式 (Lambda Expression)」による記述ですね。
Java 7までは存在しないので、古いテキストには載っていません。
ラムダ式は簡単に言えば、メソッドが1つしか宣言されてないインターフェイスに対する匿名クラスの実装を簡単に書くため仕組みです(厳密には少し異なる部分もありますが)。
具体的には、メソッドの実装を以下のような書式で書くことができます。
Java
1(仮引数リスト) -> {メソッド本体}
ちなみに仮引数リストが1つだけの場合には()を省略することができますし、またメソッド本体がステートメント1行の場合には{}を省略することができます。
以下のコード例は基本的にすべて等価です。
Java
1interface Foo { 2 public void doSomething(); 3}
(1) インターフェイスの実装クラスを使用する場合
Java
1class FooImpl implements Foo { 2 public void doSomething() { 3 // 実装 4 } 5} 6 7Foo foo = new FooImpl(); 8foo.doSomething();
(2) 匿名クラスを使用する場合
Java
1Foo foo = new Foo() { 2 public void doSomething() { 3 // 実装 4 } 5} 6foo.doSomething();
(3) ラムダ式を使用する場合
Foo foo = () -> { // 実装 }; foo.doSomething();
コード例からわかるように、ラムダ式を使用するのが一番簡単に記述できます。
投稿2017/11/26 07:56
編集2017/11/26 07:57総合スコア402
0
おそらく、ラムダ記法による記述になります。
Java SE 8でのラムダ式とストリームを利用する新しいAPIと拡張API
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/language/lambda_api_jdk8.html
投稿2017/11/26 07:28
編集2017/11/26 07:44退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/26 11:04 編集
2017/11/26 11:14