JavaRush /Java Blog /Random-JA /コーヒーブレイク#150。Java のラムダ式の例を学習してみましょう。IntelliJ IDEA の最も過小評価...

コーヒーブレイク#150。Java のラムダ式の例を学習してみましょう。IntelliJ IDEA の最も過小評価されている 7 つの機能

Random-JA グループに公開済み

Java でのラムダ式の学習例

出典: Medium この記事では、Java の関数型プログラミングの基礎であるラムダ式について見ていきます。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 1

ラムダ式の構文

ラムダ式の構文は直感的で理解しやすく、使いやすいです。ラムダ式は次のもので構成されます。
  1. 入力パラメータ
  2. 演算子の矢印
  3. 式/ステートメントのブロック
一般的な形式は次のとおりです。
<input-params> -> <function-code>

ラムダ式の例

ラムダ式は例を通して理解するのが最もよいので、その一部を見てみましょう。

1. 入力を受け入れず、出力も返さない

単純なラムダ式は入力を受け取らず、出力も返しません。文字通り、コンテキストなしで実行される単なるコードのブロックです。
() -> System.out.println("Here I am!");
入力パラメーターの位置の先頭に () を指定すると、パラメーターが渡されないことを意味します (パラメーターのないメソッドの後に空の括弧が続く場合と同様)。

2. 単一の入力を受け入れ、出力を返しません。

ラムダ式にパラメータを取得させるには、それを入力パラメータの位置に配置します。
name -> System.out.println("Here you are too, " + name +  "!");
注記:入力パラメータが 1 つの場合は、括弧を省略できます。(名前) を指定することもできますが、これはまったく問題ありません。

3. 複数の入力を受け入れますが、出力は返しません

複数の入力パラメータをラムダ式に渡すときは、次のことを行う必要があります。
  • パラメータを括弧で囲みます
  • カンマを使用してそれらの間を区切ります
(name, food) -> System.out.println("So " + name + " enjoys eating " + food + "... interesting!");

4. コードセクションに複数のステートメントが含まれている

ラムダ式を 1 行のステートメントに格納することは、良い習慣であると考えられています。ただし、複数行を使用することもできます。
() -> {
  System.out.println("The owl and the pussycat went to sea");
  System.out.println("in a beautiful pea green boat");
}

5. 戻り値の型は決して指定されません

お気づきかと思いますが、ラムダ式を定義する場合、戻り値の型は指定されません。以下に例を示します。
() -> System.out.println("I don't return anything!")
そしてもう一つ:
() -> "I return this String!"
どちらのコード例もほぼ同じですが、2 番目のラムダは文字列を返します。ご使用の際はご注意ください。もちろん、コンパイラは関数記述子の条件付き使用を通じてそれらの違いを理解します。

6. 型推論は可能な場合には自動的に適用されます

型を決定するために、コンパイラは型推論を使用します。これを行うために、ラムダ式の実行コンテキストを調べます。これは開発者にとって、特定の型へのキャストについて心配する必要がないことを意味します。

7. 関数記述子の表記法

ラムダ式にどのような型を割り当てることができるかを考えるとき、関数記述子を使用するのが非常に便利です。関数ハンドルは本質的に、ラムダ式 (またはメソッド) が提供するメソッド シグネチャです。その構文はラムダ式とほぼ同じですが、コード セクションの代わりに出力型セクションがある点が異なります。以下に例を示します。
<input-parameter-types> -> <output-parameter-type>

関数記述子の例

関数記述子の例をいくつか示します。 () -> () 入力パラメータを受け取らず、値も返さないメソッド。 (文字列) -> () 入力パラメータを受け入れ、値を返さないメソッド。 () -> (int, float) 入力パラメータを受け取らず、intfloat(int[]) ->を返すメソッド。 (SortedMap<Character, Integer>) int配列を受け取り、 CharacterからIntegerへのSortedMapを返す メソッド。関数記述子を使用すると、ラムダ式にどのようなターゲット型を使用できるかを検討するときに、型の互換性を評価しやすくなります。

結論

ご覧のとおり、ラムダ式は動作をカプセル化するためのきちんとした簡単な方法です。これは、JDK 8 のリリースで Java に導入された関数型プログラミング パラダイムの基礎の 1 つです。

IntelliJ IDEA の最も過小評価されている 7 つの機能

出典: Better Programming 信じられないかもしれませんが、何年も経った今でも、IntelliJ IDEA のこれらの優れた機能を知らない人に出会います。

1.何でも見つける

すべてのキーの組み合わせを覚えて、IntelliJ IDEA で実行できることすべてを追跡するのは非常に困難です。これが、私が IntelliJ IDEA 内で検索をよく使用する理由です。これにより、メニュー項目、ツール、設定、さらには必要なファイルを 1 か所で見つけることができます。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 2

2. 自分がどこにいるかを知る

この機能を見つける前は、「開いているファイルを選択」ボタンを使用して、現在編集中のファイルをプロジェクト ツリーに表示していました。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 3IntelliJ IDEA がこれを行ってくれるようになりました。これはデフォルトのオプションではないため、新規または既存のプロジェクトごとに設定する必要があります。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 4

3. SQLの最適化

IDE のデフォルトのデータベース プラグインは、単純な SQL エグゼキュータ以上のものであることをご存知ですか? 永続層 (I/O) が常にアプリケーションの最も遅い部分であるという事実を考慮して、リレーショナル データベースを操作するときは、SQL クエリに適切な実行計画があることを常に確認します。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 5

4. 複数行編集

Sublime Text Editor でこの機能を以前に使用したことがあるかもしれません。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 6

5.戻る/進む

実際、戻るボタンや進むボタンを押すと、元の場所に戻ることがよくあります。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 7戻る/進む: ⌥⌘+左/右矢印 (Win/Linux の場合は Ctrl+Alt+左/右矢印)。最近使用したファイルを開くには、⌘E (Win/Linux の場合は Ctrl+E) を押します。

6. ブックマーク

コードの重要な部分をブックマークして、いつでもすぐに参照できるようにします。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 8ブックマークに移動するには、⌃+<数字> (Win/Linux の場合は Ctrl+<数字>) を押します。すぐに言っておきますが、私は一度に 3 つ以上のブックマークを使用しません。なぜなら、ブックマークの用途を思い出すのが難しくなるからです。

7. 1 つのエディタですべてに対応

以前は、Visual Studio Code や Sublime などの他のテキスト エディターを開いて、コード、JSON、XML の一部を保存し、それらにリンクしていました。ただし、これはコードベース (プロジェクト) の一部ではないため、このようなものを作成または編集しようとすると、IntelliJ IDEA はこれを明確に思い出させます。その後、同僚の 1 人がスニペットを使用しているのを見て、それがいかに天才的であるかを知りました。 コーヒーブレイク#150。 Java のラムダ式の例を学習してみましょう。 IntelliJ IDEA の最も過小評価されている 7 つの機能 - 9新しいスニペット ファイル: ⇧⌘N (Win/Linux の場合は Shift+Ctrl+N)。スニペットは、プロジェクトのすべてのウィンドウで使用および同期できます。私はよくこれらを使用して、他の場所から取得した JSON または SQL を調べてフォーマットします。

私の秘密のレシピ

さらに嬉しいのは、毎日のタイピング時間を大幅に節約してくれる機能です。Tabnine は、 AIを活用した Intellij IDEA コードをコンパイルするための JetBrains プラグインです。今のところ無料ですが、長くは続かないと思いますので、急いでください。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION