マンガで分かる Java入門講座

第6章 文字列と配列
6-3. null

参照型の変数に対して使う「null」という特殊な値について紹介します。

● null

 参照型の変数では、オブジェクトの参照を入れる代わりに「何もない」ことを意味する特殊な値「null」を入れることができます。

 このnullは条件分岐の時などに使います。有効なオブジェクトがある場合は変数に参照を入れて、有効なオブジェクトが存在しない場合は変数にnullを入れます。そして変数がnullと一致するか判定させます。

 以下、模式的なプログラムを示します。

説明)有効なオブジェクトがある場合
┏━━━━━━━━━━━┓
┃オブジェクトの参照が ┃
┃入っている変数「obj」 ┃
┗━━━━━━━━━━━┛
  ┏━━━━━━┓
if (┃obj != null ┃) {
  ┗━━━━━━┛
  ┏━━━━━━━━━━━━━━┓
  ┃System.out.println("有効"); ┃
  ┗━━━━━━━━━━━━━━┛
} else {
   System.out.println("無効");
}

ソースコード)有効なオブジェクトがない場合
┏━━━━━━━━┓
┃nullが入っている┃
┃変数「obj」   ┃
┗━━━━━━━━┛
  ┏━━━━━━┓
if (┃obj != null ┃) {
  ┗━━━━━━┛
   System.out.println("有効");
} else {
  ┏━━━━━━━━━━━━━━┓
  ┃System.out.println("無効"); ┃
  ┗━━━━━━━━━━━━━━┛
}

 また、nullは、基本型の変数には入れることができません。


● nullの入った参照型の変数

 Javaでは、参照型の変数では、以下のように機能や値を利用できます。

説明)参照型の変数
参照型の変数.機能()  ← 機能を利用
参照型の変数.値      ← 値を利用

 しかし、変数の中身がnullの場合は、機能や値を利用することはできません。

 nullが入った変数には、オブジェクトの参照は入っていません。そのため参照を使ってオブジェクトの機能や値を利用しようとするとエラーが起きます。

説明)変数の中身がnullの場合はエラーが起きる
参照型の変数.機能()  ← nullは何も参照していないので、
                        オブジェクトの機能は使えない
参照型の変数.値      ← nullは何も参照していないので、
                        オブジェクトの値は使えない

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/05/24  更新:2015/08/09  [Permalink]