このページは「Java8ではじめるラムダ式」(清水美樹著、工学社刊、2014年7月11日発売、ISBN978-4-7775-1841-8)の著者によるサポートページです

目次へ

このサイトのトップへ

本書のサンプルをEclipseで実行

本書のサンプルは、WIndowsでのコマンドプロンプトによるコンパイル・実行のための構造で提供しています(方法は本書中の「付録B」を御覧ください)。
そのため、Eclipseなど開発ツールでサンプルをそのまま実行するために最も効率的な方法は、プロジェクト及びファイルまでは自分で作って、内容をテキストとしてコピー・ペーストすることです。
特に、サンプルでは日本語の文字コードをShift_JISにしてあります。一方Eclipseなどは、UTF-8が初期設定です。しかし、テキストとしてコピー・ペーストすれば、文字コードの違いによる不具合は出て来ません。
そこで、このページではコピー・ペーストする方法を紹介します。

第2章「HistoryPersonSort」のサンプルをEclipseで実行

第2章のサンプル「HistoryPersonSort」のうち、「HistoryPerson.java」は、ラムダ式に直接関係ないので、まるまるサンプルをコピーペーストしてもよいかと思います。
その方法を解説します。


プロジェクトの作成

「HistoryPersonSort」というプロジェクトを普通に作ります(実は、プロジェクト名は何でも構いません。Eclipseだけの都合です)

図1 普通にJavaプロジェクトを作る

クラスのソースを作成

作成したプロジェクト「HistoryPersonSort」に、クラス「HistoryPerson」のソースを作成します。
ここで、「package(パッケージ)」に「historypersonsort」と入力すれば、パッケージフォルダも同時に作成されます。

「name(名前)」には「HistoryPerson」と記入します。

図2 新しいクラスを作成
図3 「package」と「name」を設定
図4 作成されたプロジェクトとソース

サンプルの内容をコピー・ペースト

Eclipseでは、ファイルを作成すると、それがエディタに開かれてアクティブ(選択状態)になります。ゆえに、図3までの作業を終了すると、エディタには「HistoryPerson.java」の内容が表示されています。ほとんど枠組みだけですね。

図5 「HistoryPerson.java」のソースファイルが開いている
図6 ほとんど中身がない

そこで、サンプルの「chap2/historypersonsort」フォルダの中から「HistoryPerson.java」を見つけて、テキストエディタで開きます。
 図7は「サクラエディタ」で開いたところです。内容を全部選択し、「(クリップボードへの)コピー」を行ったところです。

図7 サンプルをテキストエディタで開いて「(クリップボードに)コピー」

そして、Eclipse上の「HistoryPerson.java」上にペーストします。図7では全文を「コピー」しましたから、図8でもパッケージ宣言もクラス名宣言も全部選択して「ペースト」です。

図8 すでに書かれたものが全部置き換わるように「ペースト」

Eclipse上の「HistoryPerson.java」の内容が、そっくりそのまま図7の内容に置き換われば、コンパイル・エラーは起きないはずです。どうでしょうか。

図9 コンパイルエラーはないはず

プロジェクトに、ソースファイル「HistoryPersonSort.java」も追加します。こちらはラムダ式を使うので、最初から自分で打ってみるほうが勉強になりますが、サンプルで動作確認したいときは同じようにコピー・ペーストします。



プログラムの実行

単純に実行

プログラムを単純に実行するなら、ツールバー上の「実行」ボタンをクリックします。図10に赤枠で示したボタンです。

図10 ツールバー上の実行ボタン

ただし、一度実行の形式を尋ねるウィンドウが現れます。「Java Application」を選んでください。

図11 「Java Application」として実行する
図12 コマンド引数なしの実行結果が出る

コマンド引数つきで実行

コマンド引数つきで実行するには、プロジェクトを右クリックして、出て来たメニューから「Run As(実行)」-「Run configuration...(実行の構成)」を選びます。

図13 メニューから「Run Configuration(実行の構成)」を選ぶ

図14のようなウィンドウが出たら、以下のように操作します。

  1. 左側のプロジェクト一覧から、「HistoryPersonSort」を選びます。図14ではプロジェクトが一つしかないので自動で選択されていますが、プロジェクトが複数になると選択する必要が出て来ます。
  2. 上のタブで「Argument(引数)を選びます。
  3. 「Program Arguments(プログラム引数)の欄に、引数を書きます。
図14「コマンド引数の設定」
次に実行するときは、単純に実行しても図14の設定で実行されますから、コマンド引数のない状態に戻すには、図14で記入した値を消去します。

第3章「historypersonsort_methodref.HistoryPersonSort」をEclipseで実行

第3章で作成した「historypersonsort_methodref.HistoryPersonSort」及びそれが参照するクラス「historypersonsort_methodref.HistoryPerson」は、第2章で作成したプロジェクトとほとんど同じです。そこで、プロジェクトを複製して、パッケージ名を変更するのが簡単です。


プロジェクトを複製

Eclipseのプロジェクトを複製するには、プロジェクトのアイコンを右クリックして、図15のように「copy」を選びます。

図15 プロジェクトを右クリックして「コピー」

次に、「パッケージ・エクスプローラー」のどこか空白の場所を右クリックして「ペースト」を選びます。
すると、複製するプロジェクトの名前を問うウィンドウが出ますので、「HistoryPersonSort_MethodRef」にします。

図16複製するプロジェクトの名前を問われる
図17 新しい名前にする

開いているファイルを全て閉じる

複製したプロジェクトのファイルは、複製前のファイルと同じ名前で最初は同じ内容ですから、どちらを編集するのか混乱します。筆者の場合、だいたい間違ったほうを編集する人生を送って来ました。みなさんはどうでしょうか。

そこで、今開いているファイルはみんな閉じて、エディタを空にします。


パッケージ名を変更

複製されたプロジェクトでは、パッケージ名も複製前のプロジェクトと同じです。
 パッケージ名を変更するには、図18のように、「Refactor(リファクタリングをする)」- 「Rename(名前の変更)」を選びます。

図18 パッケージ名の変更は「リファクタリング」
図19 パッケージ名の変更は「リファクタリング」

すると、名前を変更することによりファイルがどう書き変わるか示されます。ここは自分で何か編集できるわけではなく、そのように書き換えてもらうかやめるかを決めるのみです。特に問題はないので「continue」をクリックします。

図20 プレビューに対して「continue」

整えられた新プロジェクトで作業続行

このようにして、パッケージ名が「historypersonsort_methodref」になったプロジェクト「HistoryPersonSort_MethodRef」の準備が整いました。

前のプロジェクトと混乱しないように、「HistoryPersonSort」プロジェクトのほうはパッケージ・エクスプローラー上で折り畳んでしまいます。

プロジェクトに新しいファイル「HistoryPersonCompareProvider」などを追加して、本書を実践するかまたはサンプルの内容をコピーペーストして、動作確認を行ってください。

図21 前のプロジェクトは折り畳んで新しいプロジェクトに心を集中


第5章「HistoryPersonSearch」のサンプルをEclipse で実行

第5章で作成した「HistoryPersonSearch」は、「HistoryPerson.java」を用いますが、実行クラス「HistoryPersonSearch」の内容はこれまでと異なります。そこで、プロジェクト及びパッケージを新しく作成し、ファイル「HistoryPerson.java」を他のプロジェクトからコピーして使うのが効率的です。


プロジェクトとパッケージの作成

プロジェクト「HistoryPersonSearch」を新しく作成します。

作成したプロジェクトに、パッケージ「historypersonsearch」を作成します。


「HistoryPerson.java」のコピー・ペースト

プロジェクト「HistoryPersonSort」の「HistoryPerson.java」を右クリックして、メニューから「コピー」を選びます。

図22 「HistoryPerson.java」を「コピー」

プロジェクト「HistoryPersonSearch」の、パッケージ「historypersonsearch」を右クリックして、「ペースト」します。

図23 「historypersonsearch」パッケージのところに「ペースト」

これで、元のファイル「HistoryPerson.java」のパッケージ宣言のところは自動変換されます。ソースコードを確認してみましょう。

図24 パッケージ宣言が変換されている

あとは、普通にファイルを作成し、本書を実践したりサンプルの内容をコピーペーストしたり、作業してください。


目次へ

このサイトのトップへ