タグ

javaとoptionalに関するsnjxのブックマーク (5)

  • Java8でJava8っぽいコードを書く - Qiita

    概要(お前は何を言っているんだ) コードレビューしていると、__Java8のfeature(Stream APIとかOptionalとか)を使ってるんだけど、Java7以前と大差ない書き方をされているコード__をよく見かける。 もっと皆に__Java8っぽいコード__を書いて欲しい。そうじゃないともったいない。 (*"Java8っぽい"の基準は割りと(かなり?)私見が入っている) 言葉を尽くしても伝わりづらいので、例を作ろう。 ← これ ついでに、「無理してJava8のfeature使うことで、逆に悪くなってしまっている例」も作ろう。 対象読者 Java8でコード書いてるけど、Java7以前の書き方が染み付いちゃっていてなかなか抜け出せない人 「forやnullチェックは絶対使うべきでない」という思いが強すぎて、何でもかんでもStream APIやOptional使ってる人 Notice

    Java8でJava8っぽいコードを書く - Qiita
  • 大刷新リリース Java 8の新機能

    地味ながら広範囲で役立つOptional Java 8で追加されたクラスのうち、地味ながら広範囲で役に立つのがjava.util.Optionalだ。 これは「存在するかどうかわからない値」を表すための型で、このような値は従来のJavaではnullを使って表現することが多かったが、nullチェックが必要な値とそうでない値の区別がつかず、nullチェックを怠るとNullPointerExceptionが発生してしまうという問題があった。 このような場合にOptionalを使用することで「値が存在しないかもしれない」ということを明示することができ、nullチェックをわすれてしまうといった単純なミスを防止することができる。 Optionalのインスタンスは値の有無に応じて以下のようにして生成する。 // 値を持つOptionalオブジェクト(of()メソッドにはnullを渡すと例外がスローされる

    大刷新リリース Java 8の新機能
  • Optionalについて その1

    Streamに続いて、Java8で新搭載された機能がOptional です。 Javaではnullの処理をいちいちしなくてはいけないのがいろいろと面倒ですが、Optionalの機能をうまく使うことで可読性の高いコードを書くことができます。 私もまだ調査中なので当に基的な部分だけ紹介します。

  • Optionalの取り扱いかた - 日々常々

    JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)

    Optionalの取り扱いかた - 日々常々
  • Java8のOptionalの使い方について - TASK NOTES

    Java SE 8 から新たに追加された Optional クラスについて使い方をまとめました。 Optionalとは Java SE 8 で新たにjava.util.Optionalクラスが導入されました。Optional クラスは値を持たない場合がある(nullである)ことを表すコンテナオブジェクトで、nullをより安全に扱うためのメソッドを提供しています。 今までは戻り値が null の可能性がある場合は NullPointerException を防ぐために if文で null チェックをしていました。 Person person = getPerson(); if (person != null) { person.getName(); } Optionalを使用すると値が存在する(nullでない)場合だけ処理することを一文で表現できます。 Optional<Person> pe

    Java8のOptionalの使い方について - TASK NOTES
  • 1