skillup

技術ブログ

Java

Optionalについて その2

投稿日:

JavaEEブログなはずなのに11月はcakeのことばかり書いていて、Javaのことすら書いていないですね(汗)

今日はOptionalについて書きます。

いまいち使い方がわからなかったんですが、自分なりの解釈などができてきたので、メモしておきます。

Optionalとは?

Javaを使い始めてからというもの常に悩まされるのがNullPointerExceptionでしょう。

私の場合、PHPが最初の言語であり、nullでもプログラムが止まることはなかったので、Javaに移ってからはnullチェックをせずに落ちまくりました(汗)

Optionalとはそのnullチェックのためのクラスです。

特徴としては下記のような特徴があります。

  1. nullになる可能性があることをコード上に明示できるため、値チェックを忘れなくなる。
  2. 値が存在するときと、存在しない時の処理を分けやすくなる。

ソース

一般的には下記のように定義します。

参考リンク

http://tomoyamkung.net/2014/11/02/java8-optional-not-use-get-and-ifpresent/

http://qiita.com/shindooo/items/815d651a72f568112910

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

JPAでのデータベースとの同期

このブログでも何回か書いてきたJPAですが、新規レコードをインサートさせた際IDを取得し、そのIDをもとに何らかのキーを作る、そういう処理があったので紹介させていただきます。 何回か書いてますが、JP …

no image

日付がらみの処理に関して(MySQL&Java)

MySQL触りだして3年ぐらいたつんですがいまだに整理できないことが多いです。(特に日付がらみ) ちょっとJavaのネタと合わせて整理しておこうかなーと思います。 Contents1 MySQLの日付 …

no image

Streamでの特定条件化のカウント&合計値算出

Java8、streamで値を抽出し、カウントと合計値の算出について、小ネタです。 一番多いのがList<Map>タイプの値の検出です。 [crayon-5c1466240d0695852 …

no image

JavaEEのトランザクションに関して

最近あまり触れていないJavaEEのトランザクションについて。 JavaEEの場合、EJB環境では@Statelessを付けることによりトランザクション管理を行うことができます。 [crayon-5c …

no image

文字列のENUM化

文字列をENUM化したいときの処理について リンク集です。 ENUMが文字だけのとき(key=>valueタイプでない時)、key=>valueタイプの時両方OKのようです。 http:/ …