もっと Lambda

Java

Java8 の注目の新機能の Lambda についてなんでもいいから情報を拾い集めて動かしてみることをしています。

今回は Predicate インターフェイスと Consumer インターフェイスです。

この情報源も英語なので詳しく読むことができませんでした。

コードよりだいたいのことを理解できればと思い、参考にさせてもらってほぼ丸写しのサンプルを作りました。(^_^;

非常にシンプルなので特に説明の必要はないと思いますが JavaDoc の内容を一部コメントとして記載しておきました。

jp\yucchi\preidcate_consumer\Person.java

jp\yucchi\preidcate_consumer\Preidcate_Consumer.java

まず、Person インスタンスを二つ作ってその内容を表示させます。

次に Predicate インターフェイスの test() メソッドで年齢条件の判定をし、

Consumer インターフェイスの accept() メソッドで Person インスタンスのデータを操作しています。

それぞれアップデートされた内容で表示させてます。

実行結果は次のようになります。

 

<– Person 表示 –>
深田 恭子たん, 30歳, Gender: FEMALE
武井 咲たん, 19歳, Gender: FEMALE

<– アップデート後のPerson 表示 –>
深田 恭子さん, 30歳, Gender: FEMALE
武井 咲ちゃん, 19歳, Gender: FEMALE

”たん”から”さん”もしくは”ちゃん”に変更されてますね。(^_^)

たとえば Preidcate_Consumer.java の 29 行目が 16 歳より若い条件だったら次のようになります。

 

<– Person 表示 –>
深田 恭子たん, 30歳, Gender: FEMALE
武井 咲たん, 19歳, Gender: FEMALE

<– アップデート後のPerson 表示 –>
深田 恭子さん, 30歳, Gender: FEMALE
武井 咲たん, 19歳, Gender: FEMALE

Predicate インターフェイスの test() メソッドで年齢条件の判定結果が false になるので

Consumer インターフェイスの accept() メソッドが実行されないので元のまま表示されます。

それではお約です。

この「もっと Lambda 」は、インターネット上で得た情報を元にそれを少し変更しているだけです。

悲しいことにその情報源は英語なので詳しい内容はわかりません。

よって私の推測で解釈された内容となってますので間違いがあると思います。

Java8 もまだ build85 を使用していますので API の変更により記述方法が変わるかもしれません。

早く正式リリースされて日本語でこの超便利で素敵な新機能を勉強したい今日この頃です。

Hatena タグ: