MENU

【Java Silver】ラムダ式の基礎とその使い方

ラムダ式を用いたプログラミングの基礎を学びましょう。

問題

以下のプログラムを実行した場合の出力はどれでしょうか?正しい選択肢を選んでください。

import java.util.function.Function;

public class Main {
    public static void main(String[] args) {
        Function intToString = (Integer i) -> "Number: " + i;
        System.out.println(intToString.apply(5));
    }
}

        

選択肢

  • A. コンパイルエラー
  • B. Number: 5
  • C. 5
  • D. 実行時エラー

答えと解説

回答を見る

答え

B. Number: 5

解説

基本説明:

ラムダ式は、Javaで関数型インターフェースを扱うのに用いられる簡潔な記述法です。ここではFunction<Integer, String>インターフェースを使い、整数を文字列に変換する関数を記述しています。具体的には、整数を入力として受け取り、”Number: “という文字列と結合して文字列を返します。

誤答理由:

選択肢A(コンパイルエラー)は考えられません。プログラムは正しく構文を守っています。選択肢C(5)は、関数の出力フォーマットを誤解しています。選択肢D(実行時エラー)は、指定されたラムダ式の動作を考えると不適切です。このラムダ式は正しく処理を実行します。

つまずきポイント:

初心者が間違いやすいポイントは、ラムダ式の構文や動作を理解せずに実行結果を予測することです。Functionインターフェースは、単一の引数を受けて結果を返すメソッドapplyを持ちます。ラムダ式は、このインターフェースを実装することで、その機能を簡潔に表現しています。

発展知識:

ラムダ式によってJavaプログラムはより簡潔になり、保持するコード量が減少します。Javaの標準APIには多くの関数型インターフェースが組み込まれており、利用することでより効率的なプログラムを書くことが可能です。特にStreamAPIと組み合わせることで、集合を操作する処理がより強力になります。

目次