1.きっかけ
このテーマを選んだきっかけは、新人エンジニアを教育してた時に、nullの説明を求められて、何も言えなかったからw
String A = null;
String B = "";
String型にnullと””(空文字)を設定した時に、何が違うのかを説明出来なかったので、そこを掘り下げて自分の理解を深めます。(その時の自分は、”null”は値がないこと、””は空文字だよ、と答えをしました。反省。。)
2.NullPointerException
俗に言う”ヌルポ”って、どういう時に起こるんでしょうか。例としてはこんな感じ。
public class Sample {
public static void main(String[] args) {
String str = null;
System.out.println(str.length());
}
}
nullでメソッドを実行しようと思うと、NullPointerExceptionが出ます。(nullはいかなるメソッドも使えない)なので、もしnullの値が設定される可能性があれば、以下のコードのように”nullチェック”なるチェック処理を入れるのが一般的だと思います。
public class Sample {
public static void main(String[] args) {
String str = strMake();
if (str != null) {
System.out.println(str.length());
}
}
private static String strMake () {
return null; // 何か処理を書く
}
}
3. 文字列クラスに用意されているメソッド
Stringクラスには、色々なメソッドが用意されてます。
防備録として、参考サイトのリンクを貼っておきます。
【公式ドキュメント】
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
4.文字列型 = 参照型
“JavaにおけるString型は、参照型なので、空の文字列("")と参照先なし(null)の2つに区別される。参照型にnullが入っている状態では、メソッドが呼べない為、nullが入っていないかチェックする(=nullチェック)をする必要がある。”
←新人さんにはこのような説明をして行こうと思います。