Slide 3
Slide 3 text
3 ページ
可変⻑引数
引数の型の直後に「...」(ピリオド3つ)を付けると、そのメソッドを呼び出す側はその型
の引数をいくつでも書けるようになる。ただし、可変引数は各メソッドにつき1つだけ、そ
のメソッドの最後の引数にだけ、指定可能。
Optionalクラス
Optionalクラス(java.utilパッケージ)は、nullチェックを簡単化し、NullPointerExceptionの発
⽣を未然に防ぐためのクラス
例)
例)void func(String... s) {}
func("xxxx", "yyyy", "zzzz");
メソッド定義側で型と引数名の間に…を⼊れて書く
メソッド呼び出し側は引数を通常通りカンマ区切りで定義する
異なる複数の型の引数を指定したい場合は、最後の引数として可変⻑引数を定義することができる
例)void func(int i, byte b, String... s) {}
可変⻑引の後に別の引数を定義することはできない(コンパイルエラー)
例)void func(String... s, int i ) {} ※コンパイルエラー
import java.util.Optional;
...中略...
Optional name = hoge.getNameById("A001");
System.out.println(name.orElse("存在しません").trim());
Optionalは、nullであるかもしれないStringを意味し、Optionalオブジェクトか
ら値を取得するには、orElseメソッドを利⽤する。orElseメソッドの引数には値がnullの場合
に採⽤するデフォルト値を指定する(ここでは「存在しません」の⽂字列)。
Optionalを使⽤すると以下のようなnullチェックを省略できる
if(name == null) {
System.out.println("存在しません");
} else {
System.out.println(name.trim());
}