タグ

Java 8に関するdecoy2004のブックマーク (7)

  • 実例で学ぶGS Collections – Part 2

    そして、オブジェクトのコンテナからプリミティブ型のコンテナに変換する方法と、プリミティブ型のコンテナに備わっているAPIの活用法をお見せします。いくつかの実例では下図に示したシンプルなドメインを使って説明します。 サンプルコードはユニットテストとして書かれており、実行にはJava 8が必要です。 [図をクリックして拡大] 稿の例を読み終わるころには、GS Collectionsで開発された豊富で完成されたAPIをさらに探求したいと興味を持っていただけるかと思います。 例2: コレクション内の要素がひとつでも条件に一致するかどうかを判別する anySatisfy/anySatisfyWithメソッドを使用して下記のように2通りの方法で書けます。 @Test public void doAnyPeopleHaveCats() { Predicate<Person> predicate = p

    実例で学ぶGS Collections – Part 2
  • 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために | Gihyo Digital Publishing … 技術評論社の電子書籍

    WEB+DB PRESS plus 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために 著者 大川徳之 著 発売日 2014年11月14日 更新日 2014年12月3日

    関数プログラミング実践入門 ──簡潔で、正しいコードを書くために | Gihyo Digital Publishing … 技術評論社の電子書籍
  • @DelegateでJavaバージョンの差異が顕在化するケース - GeekFactory

    JDK 8でビルドしたクラスファイルをJDK 7で実行するとClassNotFoundExceptionが発生する事象でハマったのでメモ。結論からいうと、ソースコードでJava 8に固有のクラスを直接参照していなくても、@Delegateによって間接的に参照されるケースがあります。 前提 JDK 8でのコンパイル時にsource, targetのバージョンを指定しているものとします。 そうしないと、JDK 7でクラスファイルを読み込んだ時に以下のエラーが発生します。 Exception in thread "main" java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 52.0 Gradleでは以下の2行を書くだけでOKです。 sourceCompatibility = JavaVe

    @DelegateでJavaバージョンの差異が顕在化するケース - GeekFactory
  • Javaによる関数型プログラミング

    書はJava 8で追加された新機能のうちラムダ式とStream APIに焦点を絞り、これらを使った関数型プログラミングについて解説します。今までのJavaには存在しなかったこの新しいパラダイムに踏み込むことで、冗長さを排し、より簡潔なプログラミングを実現します。しかし、これを使いこなすためには、従来のJavaにおける考え方を一旦捨て去り、新たな考え方をもってプログラミングを行わなければなりません。 書では、従来の手法と対比させつつ、APIの使用方法や設計手法を詳解し、基礎を固めます。遅延評価や再帰、そして並列化についてもサンプルコードを使って詳しく解説します。日語版ではJava Championである櫻庭祐一氏による「日語版まえがき」を収録。Java 8の特性を十分に生かしたプログラミングを行う技術者必携の一冊です。 まえがき はじめに 1章 Hello、ラムダ式! 1.1 考え方

    Javaによる関数型プログラミング
  • メモっとけ Java 8 Lambdas 〜Chapter2〜 - A Memorandum

    Java 8 Lambdas: Pragmatic Functional Programming (English Edition) 作者:Richard Warburton出版社/メーカー: O'Reilly Media発売日: 2014/03/18メディア: Kindle版 関数型プログラミングスタイルによって何が変わるかというと、 The difference is that object-oriented programming is mostly about abstracting over data, while functional programming is mostly about abstracting over behavior. ラムダ式 Swing のアクションリスナーに匿名クラスでActionListenerの実装を入れる例 button.addActionL

    メモっとけ Java 8 Lambdas 〜Chapter2〜 - A Memorandum
  • Date and Time API 徹底攻略(4) - Date/Time その1 - Programming Studio

    前回から 1 ヶ月以上経ってしまいましたが、今回から Date and Time API の使い方について見てゆきたいと思います。Java EE でも GlassFish 4.0.1 Preview や WildFly 8.x が Java 8 を正式サポートしており、IBM WebSphere AS も年内には Java 8 に対応するという話が出ており、今後 Date and Time API を活用する機会は増えていくことでしょう。 WebLogic Server に関する注釈: 次期リリース WebLogic 12.1.3 は Web 層に対する Java EE 7 仕様の先行取り込みが最優先事項であるため、Java 8 (特に Lambda)には対応しない公算が大きいです。公式には 12.1.4 までに Java 8 対応を完了させるというマイルストーンだったと思います(間違って

    Date and Time API 徹底攻略(4) - Date/Time その1 - Programming Studio
  • 速習 Date and Time API - Programming Studio

    既に「Date and Time API 徹底攻略」の連載を始めていますが、内容が網羅的で分量が多いため、ダイジェスト版としてこの記事を公開します。この記事は Date and Time API の導入を目的としたものであるため、説明は最小限に絞っています。詳細は Java SE 8 API ドキュメントまたは「Date and Time API 徹底攻略」を参照してください。 1. Date and Time API とその位置づけ Date and Time API (JSR 310) は Java SE 8 から追加された新しい日付と時刻を表現する API です。従来の Date や Calendar などを置き換えることを念頭に開発され、日付・時刻表現の国際規格である ISO 8601 (国内では JIS X 0301) をカバーした仕様になっています。 2. ISO 8601 と

    速習 Date and Time API - Programming Studio
  • 1