1. isBlank()とは?
isBlank()
は、Java 11で追加されたString
クラスのインスタンスメソッドです。- 役割:文字列が「空」または「空白文字(スペース、タブ、改行)」のみで構成されているかどうかを判定します。
- 返り値:
true
またはfalse
(ブール値)を返します。
2. どんなときに使う?
- ユーザー入力や外部データが実質的に空かどうかを判定する必要がある場面で利用します。
- 例1:フォーム入力のバリデーション。
- 例2:ログファイルやデータ処理時に、不要な空白行を無視したい場合。
3. どこで使うべき?
- データ検証の場面:
- ユーザーが入力した文字列が空白のみかをチェックし、エラー処理に役立てます。
- 文字列操作の前処理:
- 空白文字列を除外して、不必要なデータ処理を回避します。
4. どんな型やデータに使う?
isBlank()
は、String
型に対して使用します。isEmpty()
との違い:isBlank()
は空白文字列" "
に対してもtrue
を返します。isEmpty()
は空白文字列" "
に対してはfalse
を返します。
メソッド | 空文字列 "" | 空白文字列 " " | 文字列 "Hello" |
---|---|---|---|
isBlank() | true | true | false |
isEmpty() | true | false | false |
5. どうやって使う?
例1: 基本的な使い方
文字列が空や空白文字のみかをチェックする例。
public class Main {
public static void main(String[] args) {
String str1 = "";
String str2 = " ";
String str3 = "Hello";
System.out.println(str1.isBlank()); // true(空文字)
System.out.println(str2.isBlank()); // true(空白文字のみ)
System.out.println(str3.isBlank()); // false(内容あり)
}
}
例2: 入力バリデーション
フォーム入力時に、空白のみの入力を無効にする例。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前を入力してください: ");
String name = scanner.nextLine();
if (name.isBlank()) {
System.out.println("名前を空白にはできません!");
} else {
System.out.println("ようこそ、" + name + "さん!");
}
}
}
例3: 空白文字列のフィルタリング
リストから空白文字列を除外する方法。
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> strings = List.of("Java", " ", "", "Programming");
List<String> filteredStrings = strings.stream()
.filter(s -> !s.isBlank()) // 空白文字列を除外
.collect(Collectors.toList());
System.out.println(filteredStrings); // [Java, Programming]
}
}
まとめ
isBlank()
は、Java 11で追加された便利なメソッドで、空白文字列を判定する際に役立ちます。
- フォーム入力のバリデーションやデータ処理の前処理に有効。
isEmpty()
より柔軟な判定が可能。- Java 11以降で利用可能。