SalesforceにおけるWebサービスコールアウトのテスト完全ガイド

Salesforce Apexでの文字列の空白判定と比較メソッドの使い方


SalesforceのApexでテキストフィールドが空白かどうかを確認する方法

Apexでは、テキストフィールドが「空白」であるかどうかを確認するために、Stringクラスの便利なメソッドを使用することができます。以下に、いくつかの方法とその使用例を示します。

1. == null の比較

== null は、変数が null 値であるかを確認します。

System.debug(nullString == null);   // true
System.debug(emptyString == null);  // false
System.debug(blankString == null);  // false
  • 解説:
    • nullStringnull 値であるため、true
    • emptyString は空文字列("")であり、null ではない。
    • blankString は空白文字列(" ")であり、null ではない。

2. == '' の比較

== '' は、文字列が空文字列("")であるかを確認します。

System.debug(nullString == '');   // false
System.debug(emptyString == '');  // true
System.debug(blankString == '');  // false
  • 解説:
    • nullStringnull であり、空文字列と等しくない。
    • emptyString は空文字列そのものであり、true
    • blankString は空白が含まれるため、空文字列と等しくない。

3. String.isEmpty()

String.isEmpty() は、文字列が空文字列("")であるかを確認します。null に対しても有効であり、true を返します。

System.debug(String.isEmpty(nullString));   // true
System.debug(String.isEmpty(emptyString));  // true
System.debug(String.isEmpty(blankString));  // false
  • 解説:
    • nullStringnull として扱われるため、true
    • emptyString は空文字列であり、true
    • blankString は空白が含まれるため、false

4. String.isNotEmpty()

String.isNotEmpty() は、isEmpty() の逆で、文字列が空でない場合に true を返します。

System.debug(String.isNotEmpty(nullString));   // false
System.debug(String.isNotEmpty(emptyString));  // false
System.debug(String.isNotEmpty(blankString));  // true
  • 解説:
    • nullString は空として扱われ、false
    • emptyString も空として扱われ、false
    • blankString は空白が含まれており、空ではないため、true

5. String.isBlank()

String.isBlank() は、文字列が null、空文字列、または空白文字列である場合に true を返します。

System.debug(String.isBlank(nullString));   // true
System.debug(String.isBlank(emptyString));  // true
System.debug(String.isBlank(blankString));  // true
  • 解説:
    • nullString は空として扱われ、true
    • emptyString も空として扱われ、true
    • blankString は空白文字列であり、true

6. String.isNotBlank()

String.isNotBlank() は、isBlank() の逆で、文字列が空白でない場合に true を返します。

System.debug(String.isNotBlank(nullString));   // false
System.debug(String.isNotBlank(emptyString));  // false
System.debug(String.isNotBlank(blankString));  // false
  • 解説:
    • nullStringemptyStringblankString はすべて空白として扱われ、false

7. inputString.isWhitespace()

isWhitespace() は、文字列が空白文字のみで構成されているかを確認します。null 文字列には使用できず、NullPointerException をスローします。

System.debug(nullString.isWhitespace());   // ぬるぽ (NullPointerException)
System.debug(emptyString.isWhitespace());  // true
System.debug(blankString.isWhitespace());  // true
  • 解説:
    • nullString に対して呼び出すと例外が発生します。
    • emptyString は空白文字と見なされ、true
    • blankString は空白文字のみで構成されており、true

ポイントと使用のまとめ

  1. String.isBlank() が最も包括的
    null、空文字列、空白文字列すべてに対応可能で、幅広いシナリオで使用できます。

  2. String.isEmpty()String.isNotEmpty()
    空白文字列には対応しないため、正確な比較を行う必要がある場合に使用。

  3. isWhitespace() を使用する際の注意点
    null チェックを先に行う必要がある。

コメント