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

BeanValidationの動的メッセージ出力について

JSF+ManagedBeanでは基本的にbeanValidationを使ってバリデーションを行い、エラーメッセージなどはプロパティファイルで管理するのが一般的です。 アノテーションなどを付与してあげ …

no image

Git→Jenkinsの連携 その2

以前、このエントリーでGitとjenkinsの連携に関して書いたんですが、今回jenkinsとgitのソースが別環境にあるケースの構築をしたのでメモしておきます。 Contents1 Jenkinsで …

no image

netbeansのJPQL補助機能

JPAでは基本的に生のSQLではなく、JPQLを使って書きます。 SQLでもタイプミスにイライラさせられることは多いのですが、JPQLはもっとですね・・・爆 そこで使えるのがNetbeansの入力補助 …

no image

StreamのMap処理

Javaのstreamですが知れば知るほどいろいろな機能がありますね。 基本的にプログラムって配列(コレクション含む)とオブジェクトの処理が中心になるので、配列の処理をいかにうまくできるかは非常に大事 …

no image

ページャープラグイン dataTable

レコードを一覧表示する上で意外と面倒くさいのがページャーでしょう。 自力で作成してもよいのですが、なかなかこれが面倒だったりします。 また近年ではリンクを踏ませずに、スクロールするだけで表示ができる形 …