Java で文字列が空かどうかをチェックする方法

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java で文字列が空かどうかをチェックする方法を学びます。3 つの主要な手法を探っていきます。具体的には、length() メソッドを使って文字列の長さを確認する方法、直接的にチェックするための専用の isEmpty() メソッドを利用する方法、そして重要なこととして、エラーを避けるために空チェックを行う前に潜在的な null 文字列の扱いを行う方法です。この実験の終わりまでに、Java プログラムで文字列の空を効果的に判断する方法をしっかりと理解するようになるでしょう。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/strings -.-> lab-559927{{"Java で文字列が空かどうかをチェックする方法"}} java/string_methods -.-> lab-559927{{"Java で文字列が空かどうかをチェックする方法"}} end

length() メソッドを使用して文字列の長さを確認する

このステップでは、Java の組み込み length() メソッドを使用して文字列の長さを判断する方法を探ります。文字列の長さを理解することは、どのプログラミング言語でもテキストデータを扱う際の基本的な概念です。

Java では、String は文字のシーケンスです。length() メソッドは、文字列に含まれる文字数を調べる簡単な方法です。これは、単語の文字数や文の単語数を数えるのと同じようなものです。

これを実証するために、簡単な Java プログラムを作成しましょう。

  1. WebIDE エディタで HelloJava.java ファイルが開いていない場合は、開きます。

  2. ファイルの内容全体を次のコードに置き換えます。

    public class HelloJava {
        public static void main(String[] args) {
            String greeting = "Hello, Java!";
            int length = greeting.length();
            System.out.println("The string is: " + greeting);
            System.out.println("The length of the string is: " + length);
        }
    }

    このコードの新しい部分を見てみましょう。

    • String greeting = "Hello, Java!";:この行は、greeting という名前の変数を宣言し、文字列値 "Hello, Java!" を割り当てます。
    • int length = greeting.length();:ここで length() メソッドを使用しています。greeting 文字列に対して length() を呼び出し、その文字列の文字数を返します。この数値は、length という名前の整数型変数に格納されます。
    • System.out.println("The string is: " + greeting);:この行は、元の文字列をコンソールに出力します。
    • System.out.println("The length of the string is: " + length);:この行は、計算された文字列の長さを出力します。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. 次に、プログラムをコンパイルしましょう。WebIDE の下部にあるターミナルを開き、~/project ディレクトリにいることを確認します。そして、次のコマンドを実行します。

    javac HelloJava.java

    コンパイルが成功すると、何も出力されません。

  5. 最後に、コンパイルされたプログラムを実行しましょう。

    java HelloJava

    次のような出力が表示されるはずです。

    The string is: Hello, Java!
    The length of the string is: 12

    出力には、元の文字列とその長さ(コンマ、スペース、感嘆符を含めて 12)が表示されます。

あなたは、Java で length() メソッドを使用して文字列の長さを調べることに成功しました!これは、テキストデータを扱う際の基本的で重要な操作です。

isEmpty() メソッドで空文字列をチェックする

このステップでは、Java の isEmpty() メソッドを使って文字列が空かどうかをチェックする方法を学びます。空文字列とは、文字数がゼロの文字列です。これは、空白やその他の文字を含む文字列とは異なります。

isEmpty() メソッドは、文字列の長さがゼロかどうかをチェックする便利な方法です。文字列が空の場合は true を返し、そうでない場合は false を返します。

isEmpty() メソッドを実証するために、HelloJava.java プログラムを修正しましょう。

  1. WebIDE エディタで HelloJava.java ファイルを開きます。

  2. 既存のコードを次のコードに置き換えます。

    public class HelloJava {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = ""; // This is an empty string
            String str3 = " "; // This string contains a space
    
            System.out.println("String 1: \"" + str1 + "\"");
            System.out.println("Is String 1 empty? " + str1.isEmpty());
    
            System.out.println("\nString 2: \"" + str2 + "\"");
            System.out.println("Is String 2 empty? " + str2.isEmpty());
    
            System.out.println("\nString 3: \"" + str3 + "\"");
            System.out.println("Is String 3 empty? " + str3.isEmpty());
        }
    }

    このコードでは:

    • 内容を持つ str1、空の str2、空白を含む str3 という 3 つの文字列を宣言しています。
    • str1.isEmpty()str2.isEmpty()str3.isEmpty() を使って、各文字列が空かどうかをチェックしています。
    • System.out.println() 文は、文字列と isEmpty() チェックの結果(true または false)を出力します。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルで修正したプログラムをコンパイルします。

    javac HelloJava.java

    再び、出力がないことはコンパイルが成功したことを意味します。

  5. プログラムを実行します。

    java HelloJava

    次のような出力が表示されるはずです。

    String 1: "Hello"
    Is String 1 empty? false
    
    String 2: ""
    Is String 2 empty? true
    
    String 3: " "
    Is String 3 empty? false

    ご覧の通り、isEmpty()str2 を空(true)と正しく識別しますが、str1str3 は空ではない(false)と識別します。これは、str3 が空白文字を含んでいるためで、たとえ空白のように見えても空ではないからです。

あなたは、isEmpty() メソッドを使って文字列が空かどうかをチェックすることに成功しました。これは、ユーザー入力の検証や、欠落または空の文字列のケースを処理する必要があるテキストデータの処理に役立ちます。

空チェック前に null 文字列を処理する

前のステップでは、isEmpty() メソッドを使って文字列が空かどうかをチェックする方法を学びました。しかし、Java には null という重要な概念があります。null 値は、変数が何らかのオブジェクトを参照していないことを意味します。null 文字列に対して isEmpty() のようなメソッドを呼び出そうとすると、プログラムは NullPointerException でクラッシュします。

文字列に対して何らかのメソッドを呼び出す前に、null 文字列を処理することが重要です。最も安全な方法は、まず文字列が null かどうかをチェックすることです。

null 文字列を処理する方法を実証するために、プログラムを修正しましょう。

  1. WebIDE エディタで HelloJava.java ファイルを開きます。

  2. 既存のコードを次のコードに置き換えます。

    public class HelloJava {
        public static void main(String[] args) {
            String str1 = "Hello";
            String str2 = "";
            String str3 = null; // This string is null
    
            System.out.println("Checking String 1: \"" + str1 + "\"");
            if (str1 != null && !str1.isEmpty()) {
                System.out.println("String 1 is not null and not empty.");
            } else {
                System.out.println("String 1 is null or empty.");
            }
    
            System.out.println("\nChecking String 2: \"" + str2 + "\"");
            if (str2 != null && !str2.isEmpty()) {
                System.out.println("String 2 is not null and not empty.");
            } else {
                System.out.println("String 2 is null or empty.");
            }
    
            System.out.println("\nChecking String 3: " + str3); // Note: printing null doesn't crash
            if (str3 != null && !str3.isEmpty()) {
                System.out.println("String 3 is not null and not empty.");
            } else {
                System.out.println("String 3 is null or empty.");
            }
        }
    }

    このコードでは:

    • null 文字列 str3 を導入しています。
    • isEmpty() を呼び出す前に、まず str != null を使って文字列が null かどうかをチェックしています。
    • 論理 AND 演算子 (&&) を使って、null チェックと isEmpty() チェックを組み合わせています。!str.isEmpty() の部分は、str != null が true の場合にのみ評価され、NullPointerException を防ぎます。
    • if 文は、文字列が null でなく、かつ空でないかどうかをチェックしています。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルでプログラムをコンパイルします。

    javac HelloJava.java
  5. プログラムを実行します。

    java HelloJava

    次のような出力が表示されるはずです。

    Checking String 1: "Hello"
    String 1 is not null and not empty.
    
    Checking String 2: ""
    String 2 is null or empty.
    
    Checking String 3: null
    String 3 is null or empty.

    この出力は、コードが str1null でなく空でもないと正しく識別し、str2str3null または空と識別し、クラッシュすることなく動作していることを示しています。

文字列に対してメソッドを呼び出す前に null をチェックすることで、Java プログラムをより堅牢にし、一般的なエラーを防ぐことができます。これは Java プログラミングにおいて非常に重要な慣行です。

まとめ

この実験では、Java で文字列が空かどうかをチェックする方法を学びました。まず、文字列の文字数を判断するための length() メソッドを調べました。これは、テキストデータを扱う上での基本的な概念です。length() の使い方を実証し、文字列とその長さをコンソールに出力する簡単な Java プログラムを作成しました。

引き続き、isEmpty() などの他のメソッドを調べ、Java プログラムで堅牢な空チェックを行うために null 文字列を処理する方法を学びます。