[解決済み】Javaの矢印演算子'->'は何をするのですか?
2022-04-05 07:57:43
質問
コードを調べているうちにarrow演算子に行き当たりましたが、これはいったい何をするものなのでしょうか?Javaにはarrow演算子がないと思っていました。
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
詳細 : Java 6、Apache Commons Collection、IntelliJ 12
更新/回答 IntelliJ 12はJava 8をサポートしており、ラムダをサポートしているため、Predicatesを"folding"してラムダとして表示していることがわかりました。以下は、折りたたまれていないコードです。
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
public boolean evaluate(Object arg0) {
return Car.SEDAN == ((Car)arg0).getStyle();
}
});
解決方法は?
これは、Java 8で導入される新しいラムダ式の構文の一部です。オンラインチュートリアルがいくつかあるので、コツを掴んでください。
リンク
をご覧ください。基本的には
->
は、パラメータ(左側)と実装(右側)を分離します。
ラムダ式を使用するための一般的な構文は次のとおりです。
(Parameters) -> { Body }
ここで
->
はパラメータとラムダ式本体を分離する。
パラメータはメソッドと同じように括弧で囲み、ラムダ式本体は中括弧で囲んだコードブロックとします。
関連
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] :: (ダブルコロン) 演算子 in Java 8
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] init-paramとcontext-param