Language
String: isBlank は空白だけの文字列も判定する
isBlank は空文字だけでなく、空白文字だけの String も空白として扱います。
SourceStringWhitespace.java
Java 21
package examples.string;
public final class StringWhitespace {
private StringWhitespace() {}
public static boolean hasOnlyWhitespace(String value) {
return value.isBlank();
}
}TestStringWhitespaceTest.java
Java 21
package examples.string;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
class StringWhitespaceTest {
@Test
void 空文字列はisBlankでtrueになる() {
assertTrue(StringWhitespace.hasOnlyWhitespace(""));
}
@Test
void 空白だけのStringはisBlankでtrueになる() {
assertTrue(StringWhitespace.hasOnlyWhitespace(" \n\t"));
}
@Test
void 文字を含むStringはisBlankでfalseになる() {
assertFalse(StringWhitespace.hasOnlyWhitespace(" java "));
}
}01Assertion
このテストで確認できること
- 空文字列は isBlank で true になる
- スペースと改行だけの文字列も isBlank で true になる
isEmpty は文字数だけを見ます。空白を含めて入力の有無を扱うなら isBlank を選びます。
OBSERVED RESULT
expected: " \n\t".isBlank() → true
actual: true