カテゴリ: Java 更新日: 2026/01/25

Javaのラムダ式の書き方を徹底解説!引数なし・単一・複数の型指定と省略ルール

【ラムダ式】引数なし・単一・複数:型指定と省略のルール
【ラムダ式】引数なし・単一・複数:型指定と省略のルール

先生と生徒の会話形式で理解しよう

生徒

「先生、ラムダ式って難しそうに見えるんですけど、どう書いたらいいんですか?」

先生

「確かに最初はとっつきにくいかもしれませんね。でも、Javaのラムダ式は書き方のパターンを覚えればとても便利ですよ。」

生徒

「引数がないときとか、型を省略するときのルールがよくわかりません…」

先生

「いいですね、それではラムダ式の基本と引数の書き方について詳しく解説していきましょう!」

1. Javaのラムダ式とは?

1. Javaのラムダ式とは?
1. Javaのラムダ式とは?

Javaのラムダ式(ラムダしき)とは、関数型インタフェースのインスタンスを簡単に書けるようにする構文です。主に匿名クラスの代わりとして利用され、Java8以降から使用可能になりました。

ラムダ式を使うことで、コードが簡潔になり、読みやすくなるというメリットがあります。特に、コールバック処理やコレクション操作などに使われることが多いです。

2. ラムダ式の基本構文と省略ルール

2. ラムダ式の基本構文と省略ルール
2. ラムダ式の基本構文と省略ルール

Javaのラムダ式は以下のような構文で記述します。


(引数) -> { 処理内容 }

この中で型指定括弧の有無などにいくつかのルールと省略の決まりがあります。

3. 引数なしのラムダ式の書き方

3. 引数なしのラムダ式の書き方
3. 引数なしのラムダ式の書き方

引数がないラムダ式は、括弧だけを使います。


() -> System.out.println("こんにちは、ラムダ式!");

このように、引数がない場合でも()は必ず書く必要があります。

4. 引数が1つの場合の書き方(型指定あり・なし)

4. 引数が1つの場合の書き方(型指定あり・なし)
4. 引数が1つの場合の書き方(型指定あり・なし)

引数が1つだけのときは、型を省略することができます。また、丸括弧も省略可能です。

▼ 型あり・括弧ありの例:


(String name) -> System.out.println(name);

▼ 型省略・括弧省略の例:


name -> System.out.println(name);

このように、型と括弧の両方を省略できるのは、引数が1つだけの場合です。

5. 引数が複数ある場合の書き方

5. 引数が複数ある場合の書き方
5. 引数が複数ある場合の書き方

引数が2つ以上ある場合は、必ず括弧が必要です。

▼ 型をすべて指定する例:


(String a, String b) -> System.out.println(a + b);

▼ 型を省略する例(型推論):


(a, b) -> System.out.println(a + b);

このように、複数引数のときは括弧を省略できません。また、一部だけ型を指定することはできません

6. 戻り値があるラムダ式の書き方

6. 戻り値があるラムダ式の書き方
6. 戻り値があるラムダ式の書き方

ラムダ式の中で値を返したい場合は、return文を使うことができます。

▼ 戻り値がある例:


(int x, int y) -> {
    return x + y;
}

処理が1行だけの場合、returnと波括弧は省略可能です。


(int x, int y) -> x + y

7. 実行例で確認しよう

7. 実行例で確認しよう
7. 実行例で確認しよう

import java.util.function.*;

public class LambdaSample {
    public static void main(String[] args) {
        Runnable noArg = () -> System.out.println("引数なしのラムダ式");
        Consumer<String> oneArg = name -> System.out.println("こんにちは、" + name);
        BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;

        noArg.run();
        oneArg.accept("Java");
        System.out.println("足し算の結果: " + add.apply(5, 3));
    }
}

▼ 実行結果:


引数なしのラムダ式
こんにちは、Java
足し算の結果: 8

8. ラムダ式で使われる代表的な関数型インタフェース

8. ラムダ式で使われる代表的な関数型インタフェース
8. ラムダ式で使われる代表的な関数型インタフェース

Javaでよく使われる関数型インタフェースには次のようなものがあります:

  • Runnable:引数なし・戻り値なし
  • Consumer<T>:引数あり・戻り値なし
  • Function<T, R>:引数あり・戻り値あり
  • Supplier<T>:引数なし・戻り値あり
  • Predicate<T>:条件判定・booleanを返す

これらのインタフェースを理解しておくと、ラムダ式をより柔軟に活用できます

9. よくあるエラーと注意点

9. よくあるエラーと注意点
9. よくあるエラーと注意点

Javaのラムダ式で初心者がよくつまずくポイントも押さえておきましょう。

  • 引数が1つだけなのに括弧をつけてしまう → 括弧なしで書ける場合もある
  • 型を一部だけ省略する → すべて省略するか、すべて指定する
  • returnを書いているのに波括弧を忘れる → returnがあるときは波括弧も必要

これらのルールを覚えると、Javaのラムダ式を安全に活用できます。

まとめ

まとめ
まとめ

Javaのラムダ式は、一見すると複雑そうに見えますが、引数の書き方に関するパターンや省略できる部分、戻り値の扱い方といった基本的な仕組みを理解すれば、驚くほどすっきりと書ける便利な構文だと実感できるはずです。特に、引数なしの書き方、引数が一つだけの場合に型や括弧を省略できる独特のルール、引数が複数あるときに必ず括弧が必要になる特徴などは、Javaのラムダ式を活用するうえで欠かせない知識です。こうした仕組みを理解しておくことで、実際に関数型インタフェースを使った処理を組み立てる際の負担が軽くなり、日々の開発でも自然にラムダ式が使えるようになっていきます。さらに、Stream操作やコールバックなど、さまざまな場面で柔軟性の高い書き方ができるようになるため、Javaのコードがより読みやすく、より直感的な形に変わっていく実感も得られるでしょう。

また、ラムダ式と切っても切れない関係にあるのが関数型インタフェースです。JavaにはRunnableやConsumer、Function、Predicateといった多様な関数型インタフェースが標準で用意されており、これらを使い分けることで複雑な処理の組み合わせも自然な形で表現できます。ラムダ式は単なる短い書き方ではなく、「何を受け取り、何を返すか」を明確に示す構文でもあります。だからこそ、型推論や省略ルールが働く仕組みを理解しておくことで、コードが読みやすくなるだけでなく、開発中の誤りも自然と減っていきます。特に、引数が一つだけのときに型を省略したり、括弧を省略したりといった細かいルールは、初めのうちは戸惑うかもしれませんが、慣れていくとむしろ直感的に感じられるようになります。

そして、ラムダ式を実際のプログラムで活用する際には、戻り値を持つ書き方、returnの省略、複雑な処理を波括弧で囲む場合なども理解する必要があります。戻り値がある場合でも、処理が一行であればreturnを省略して直接値を返せるという仕組みは、Javaの書き方を大きく簡潔にしてくれる重要な特徴です。こうした省略の工夫が積み重なることで、Javaのコードは一段と読みやすくなり、特に大量のデータを扱う場合やStream APIを用いる場面では、ラムダ式の利便性が際立ってきます。

サンプルコードで整理しよう

もう一度、ポイントを振り返るために簡単なサンプルをまとめておきます。


import java.util.function.*;

public class LambdaSummary {
    public static void main(String[] args) {
        Runnable run = () -> System.out.println("引数なしの例");
        Consumer<String> greet = name -> System.out.println("こんにちは、" + name);
        BiFunction<Integer, Integer, Integer> calc = (a, b) -> a * b;

        run.run();
        greet.accept("ラムダ式");
        System.out.println("計算結果: " + calc.apply(4, 6));
    }
}

このようなサンプルを見ると、ラムダ式の構造が「一つの関数型インタフェースに、一つの動作を紐づける書き方」であることが自然に理解できるはずです。特に、ConsumerやBiFunctionといった汎用的なインタフェースは実務でも登場頻度が高く、こうした基本形を覚えておくことが、Javaのモダンな書き方を身につけるうえでの大きな力になります。

先生と生徒の振り返り会話

生徒

「今日のまとめを読んで、ラムダ式は思ったよりシンプルなルールで書けるって分かりました。引数のパターンや省略の仕組みも覚えれば自然に使えそうです。」

先生

「その通りです。最初は特徴的な省略ルールに戸惑うかもしれませんが、構造自体はとても素直なんですよ。特に関数型インタフェースとのつながりを意識すると、ラムダ式が“何を表したいのか”が分かりやすくなります。」

生徒

「書いていくうちに感覚がつかめそうです。Stream APIで使われる理由も理解できました!」

先生

「良いですね。Javaのラムダ式はデータ処理やイベント処理の場面でも便利ですから、今回の知識を少しずつ応用していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaのラムダ式は何のために使うのですか?コードがどう変わりますか?

Javaのラムダ式は、コードを簡潔にして可読性を上げるための書き方です。匿名クラスより短く書けるため、コレクション処理やコールバック処理を効率的に書けます。

Javaの基礎を最初から体系的に学びたい人には、 初心者向けで定評のある定番入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

カテゴリの一覧へ
新着記事
New1
Spring
SpringDataJPAのJPAクエリメソッド「NotLike」の使い方を完全ガイド!初心者向け解説
更新記事
New2
Spring
SpringDataJPAのJPAクエリメソッド「Like」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Java
JavaのLocalDateTimeクラスとplusMinutesメソッドを完全ガイド!初心者でもわかる分単位の時間操作
新規投稿
New4
Spring
SpringDataJPAのJPAクエリメソッド「IsNotNull」と「NotNull」の使い方を完全ガイド!初心者向け解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
No.3
Java&Spring記事人気No3
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.4
Java&Spring記事人気No4
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.5
Java&Spring記事人気No5
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方
No.6
Java&Spring記事人気No6
Spring
SpringのBindingResultを完全ガイド!初心者でもわかる入力チェックとエラー処理
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスとaddAttributeメソッドの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
Thymeleaf
Thymeleafのth:classappend属性の使い方を完全ガイド!初心者でもわかる動的クラス追加