タグ

java8に関するwalk77のブックマーク (7)

  • Android で Optional<T> を使おう - post <$> shiroyama <*> blog

    Shibuya.apk #2 というイベントで登壇させていただきました。資料はここにあります。 テーマは「RxJavaとOptionalで関数型Androidしよう」ですが昨今の巷での関数型言語の流行りに便乗した釣りタイトルです。誠に申し訳ございません。 で、そのテーマの前半部分である Optional<T> についてここで詳しくまとめておきたいと思います。 Optionalとは何か Optional とは あるかもしれないしないかもしれない ものを表現する型です。 Haskell でいう Maybe a = Nothing | Just a です。Scalaでいう Option[T] = Some(T) | None です。 Optional<String> ってのがあると、文字列があるかもしれないしないかもしれないって意味になります。 これの何が嬉しいかっつーと if (st

  • RxJavaのObservable<T>でOptional<T>を代行する - visible true

    RxAndroidとRetrolambdaで大体Java8をAndroidに持ち込むでOptionalは使えず、良さ気なライブラリは見当たらないと書いたのだけど、そもそもRxJavaObservable<T>はOptional<T>と同等の機能を持ってるっぽくない?という事に気がついて試してみたらOptional<T>でした。とは言え若干違う点や面倒な点もあるので完全に置き換えられるって感じでもない気がしますが十分な気もします。そもそもAndroidがさっさとJava8をサポートしてくれたらいいんです。 参考 Optionalの実装の参考 GC: Optional - java.util.Optional (.java) - GrepCode Class Source Optionalのjavadoc Optional (Java Platform SE 8 ) Optional.of(

    RxJavaのObservable<T>でOptional<T>を代行する - visible true
  • lambda-behaveでテストを書こう · zephiransasのチラシの裏

    これはJavaアドベントカレンダー2014の12/16分の記事です。 昨日はgrimroseさんの、[書評] Gradle徹底入門 でした。 明日は@com4dcさんの、はじめて触るStreamの世界 です。 自分はJavaのテストフレームワークである、lambda-behaveについて紹介します。 自分は普段はRailsでの開発を行っているのですが、現場では主にRSpecを使ってテストを記述しています。RSpecでのテストは以下のような感じです。 describe 'Sample' do context 'hogeメソッドについて' do it 'fugaを返すこと' do Sample.hoge.should == "fuga" end end end RSpecでは上記のようにDSLを使って、なにをテストしているかを構造的に記述することができます。 lambda-behaveを使うと

  • 比較:並行処理 - Java とScala とGo - | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、馬場です。 完全に出遅れていますが、個人的に触ってみたかったGo言語と戯れてみたいと思います。Go 言語といえば並行処理ですよね。せっかくですので、他の言語Java 8 / Scala 2.11 と比較しながら見ていきたいと思います。 お題:二分探索木を比較する。 並行処理のお題は、超充実しているGo 言語のチュートリアルTour of Goのエクササイズ、Equivalent Binary Tree です。 二分探索木とは、子の数が最大2である二分木で、「あるノードの左の子およびその全ての子孫ノードの持つ値はそのノードの値より小さく、右の子及びその全ての子孫ノードの持つ値はそのノードの値より大きくなるように構成した」もの(Wikipedia)です。 2つの二分木が、形はちがえど同じ値を保持している場合があります。そのために、 1. 二分探索木を生成し、 2. 2つの二分木の解

  • 「Javaの鉱脈」連載開始 | さにあらず

    WEB+DB PRESS の Vol.81 から JVM を中心とした連載を始めましたので是非買って下さい。 2014/6/24 発売です。書店には既に並んでいるかと思います。 これはアマゾンのアフィリエイトリンクですので、踏んだ直後に冷蔵庫等の大型家電を購入して頂けると僕が喜びます。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.81@Gihyo Digital Publishing初回の内容はラムダ式 + RxJava#今回の内容としては Java8 のラムダ式に関する簡単な説明から、ラムダ式を利用してRxJavaを使うとこんなに便利という話を書きました。 記事内で Stream API に関して説明しなかった最大の理由はラムダ式と Stream API に関する適切で妥当な説明については桜庭さんの記事を読めば良いと考

    「Javaの鉱脈」連載開始 | さにあらず
  • Java SE 8 lambdaで変わるプログラミングスタイル - きしだのHatena

    JavaOne2013報告会福岡第二段で話したlambdaの資料に加筆して公開しました。 lambdaの詳細な構文は適当に調べてもらうとして、lambdaでどのようにプログラミングスタイルが変わるかということに重点おきました。 追記「用意されたFuncationalInterface」のリンクはここです。 Java8 Lambdaの文法拡張まとめ - きしだのはてな

    Java SE 8 lambdaで変わるプログラミングスタイル - きしだのHatena
  • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

    いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし

    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
  • 1