【nullって何だろう?】
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チェック)をする必要がある。”
←新人さんにはこのような説明をして行こうと思います。
Author And Source
この問題について(【nullって何だろう?】), 我々は、より多くの情報をここで見つけました https://qiita.com/takumi_links/items/116e561ff94a1b59c7f2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .