スライドショー

【Java入門】String型のnullをチェックをする方法

この記事ではString型のnullをチェックをする方法をわかりやすく解説します!

  • 「nullのチェックをしたい」
  • 「isEmptyの使い方を知りたい」
  • 「nullと空文字列の違いを知りたい」
  • 今回はそんな悩みを解決するnullについてです。

    nullとは

    初めにnullについて解説します。Javaには参照型プリミティブ型の2つのデータ型があります。

    String型は参照型のため値を直接持たず、値のある場所を参照するようになっています。
    この参照先が無い状態をnullといいます。空の文字列の場合は参照先に空の文字列がある状態なので、nullにはなりません。

    int型やchar型ように、値を直接格納する型をプリミティブ型といいます。
    プリミティブ型にはnullがありません

    参照型は型名が大文字から始まり、プリミティブ型は型名が小文字から始まるようになっているので、そこから区別することもできます。

    nullと空文字列の違い

    次にnullと空文字列の違いを解説します。

    初期化などでString型にnullを代入したままの状態でメソッドを呼び出すと、NullPointerExceptionの例外が発生するので注意してください。空の文字列の場合は正常にメソッドを使うことができます。

    次のプログラムで確認してみましょう。

    public class Main {
     
        public static void main(String[] args) {
            String str1 = "";
            String str2 = null;
             
            System.out.println(str1.isEmpty());
            System.out.println(str2.isEmpty());
        }
    }
    [実行結果]
    true
    NullPointerException

    空の文字列からメソッドを呼び出した場合は問題がありませんが、nullからメソッドを呼び出した場合にはNullPointerExceptionの例外が発生していることが確認できました!

    nullと空文字列をチェックをする方法

    最後にnullと空文字列をチェックをする方法を解説します。

    文字列がnullのときにequalsメソッドを呼び出すと例外が発生するので、nullのチェックは”==”演算子で行います。

    空文字列のチェックにはisEmptyメソッドを使います。isEmptyメソッドは文字列が空のときに”true”を返します文字列がnullか空文字列かをチェックする方法を確認するために次のプログラムを見てみましょう。

    public class Main {
     
        public static void main(String[] args) {
            String str1 = null;
            String str2 = "";
            String str3 = " ";
             
            System.out.println(str1 == null);
            System.out.println(str2.isEmpty());
            System.out.println(str3.isEmpty());
        }
    }
    [実行結果]
    true
    true
    false

    このように”==”演算子とisEmptyメソッドを使うことで、nullと空文字列のチェックができました!

    String(文字列クラス)総まとめ

    String(文字列クラス)についてさらに詳しく知りたいときはこちらの記事を確認してください!

    まとめ

    いかがでしたか?

    今回はString型のnullをチェックをする方法について解説しました。nullが代入されている状態からメソッドを呼び出した場合には例外が発生するので注意してくださいね。

    もしnullについて忘れてしまったらこの記事を確認してください!

    LINEで送る
    Pocket

    無料でSEからWebエンジニアへ転職しませんか?



    侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

    • システムエンジニアという職業だけどコードが書けない
    • 事務作業が多くスキルがないため将来が不安
    • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
    という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

    弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

    既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

    まずは無料体験レッスンを予約する

    書いた人

    中沢 丈

    中沢 丈

    フリーランスエンジニア。
    システム開発からコンテンツ作成まで幅広く対応します。

    連絡先はこちらです。
    [email protected]

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説