Trong khi cá nhân tôi sẽ thích !str.isBlank()
, như những người khác đã đề xuất (hoặc str -> !str.isBlank()
với tư cách là Vị ngữ), một phiên bản hiện đại và hiệu quả hơn của str.trim()
cách tiếp cận được đề cập ở trên, sẽ được sử dụng str.strip()
- coi null là "khoảng trắng":
if (str != null && str.strip().length() > 0) {...}
Ví dụ như Dự đoán, để sử dụng với các luồng, ví dụ: trong bài kiểm tra đơn vị:
@Test
public void anyNonEmptyStrippedTest() {
String[] strings = null;
Predicate<String> isNonEmptyStripped = str -> str != null && str.strip().length() > 0;
assertTrue(Optional.ofNullable(strings).map(arr -> Stream.of(arr).noneMatch(isNonEmptyStripped)).orElse(true));
strings = new String[] { null, "", " ", "\\n", "\\t", "\\r" };
assertTrue(Optional.ofNullable(strings).map(arr -> Stream.of(arr).anyMatch(isNonEmptyStripped)).orElse(true));
strings = new String[] { null, "", " ", "\\n", "\\t", "\\r", "test" };
}