次にインストールが終わったら正しくインストールできたのか確認するために、コマンドプロンプトより下記コマンドを実行します。
java -version
※コマンドプロンプトはWindowsのスタートボタン→[すべてのプログラム]→[アクセサリ]→[コマンドプロンプト]で起動できます。
Javaのインストールに成功し実行できる状態になっている場合、下記のように「java -version」の右にJavaのバージョンが表示されます。このバージョンがJDK 8の場合は「1.8」となっているので、それを確認してください。ちなみに今回は「1.8.0-ea」(「ea」はEarly Accessの略)と表示されます。
Javaのインストールが終わったら、次にJavaが実行できるようにJavaを実行する際のパスを環境変数に設定します。
まず、スタートメニューの[コンピューター]やデスクトップに[コンピューター]のアイコンがある場合はそれを右クリックし[プロパティ]を選択します。
次に、[システムの詳細設定]を選択しシステムプロパティを開きます。
続いて、システムプロパティの[環境変数]を選択します。
[環境変数]にある「Path」にインストールしたJDKの「bin」フォルダーへのパスを指定します。既に別のパスが設定してある場合は「;」で区切り、パスを追記します。
また[環境変数]には、ユーザーの環境変数とシステムの環境変数があり、どちらに設定しても構いませんが、今回の例ではユーザーの環境変数にパスを新規に追加し、下記のようにシステム環境変数の「%Path%」の次にJDKの「bin」フォルダーへのパスを追加して設定しています。
%Path%;C:\Program Files\Java\jdk1.8.0\bin
JDKのパスを設定したら新しくコマンドプロンプトを開き、下記のコマンドを入力してパスがきちんと通っているか確認します。
echo %Path%
実行できる環境が整ったら、ラムダ式のソースをコンパイルして実行してみましょう。
今回のサンプルは実行すると「Hello, テスト 太郎」と標準出力するものです。下記のJavaファイル「Sample.java」をパッケージのフォルダーごと任意の場所に配置します。
package jp.co.atmarkit.lambda.sample01; public class Sample { public static void main(String[] args){ SampleFunction function = (name) -> System.out.println("Hello, " + name); function.say("テスト 太郎"); } @FunctionalInterface private interface SampleFunction { public void say(String name); } }
Java SE 8 ではラムダ式の導入とともに、インターフェースが関数型であることを示すアノテーション「@FunctionalInterface」が追加されます。
このアノテーションはインターフェースが関数型であることを定義するためのもので、@FunctionalInterfaceを定義しているインターフェースが関数型インターフェースではない場合にコンパイルエラーになります。
インターフェースが関数型ある限り@FunctionalInterfaceを付けずにラムダ式で記述してもエラーにはなりませんが、後で対象のインターフェースが関数型でなくなるのを防ぐためにも、このアノテーションは付けておくことが無難かと思われます。
次に、コマンドプロンプトを開いてソースを置いたフォルダーに移動します。今回は「C:\sample\src」にソースを置いています。ここから下記のjavacコマンドを使ってJavaのソースをコンパイルします。
javac {オプション} {パッケージのフォルダー\ファイル名}
今回はパッケージ名を「jp.co.atmarkit.lambda.sample01」にし、ファイルをUTF-8で記述しているので下記のコマンドでコンパイルします。
javac -encoding UTF-8 jp\co\atmarkit\lambda\sample01\Sample.java
コンパイルが終わったらコンパイルされたクラスをjavaコマンドで実行します。下記のコマンドを入力し実行すると「Hello, テスト 太郎」と表示されます。
java {パッケージからのクラス名}
今回のコンパイルから実行までの一連のコマンドは下記のようになります。
C:\>cd C:\sample\src C:\sample\src>javac -encoding UTF-8 jp\co\atmarkit\lambda\sample01\Sample.java C:\sample\src>java jp.co.atmarkit.lambda.sample01.Sample Hello, テスト 太郎 C:\sample\src>
2014年1月執筆時、ラムダ式を実装できる開発環境は既に幾つか出ています。JDK 8の対応を実験的に行っているものも含めて、現在使える開発環境の主なものは下記の3つです。
次ページでは、それぞれの開発環境でどのようにラムダ式を実行できる環境を構築するのか見ていきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.