还没有看到任何完全本地化的解决方案,所以这里是一个:
return str == null || str.chars().allMatch(Character::isWhitespace);
基本上,使用本机的Character.isWhitespace()函数。从那里,您可以实现不同程度的优化,具体取决于它的重要性(我可以向您保证,在99.99999%的用例中,不需要进一步的优化):
return str == null || str.length() == 0 || str.chars().allMatch(Character::isWhitespace);
或者,要使其达到最佳状态(但非常丑陋):
int len;if (str == null || (len = str.length()) == 0) return true;for (int i = 0; i < len; i++) { if (!Character.isWhitespace(str.charAt(i))) return false;}return true;我喜欢做的一件事:
Optional<String> notBlank(String s) { return s == null || s.chars().allMatch(Character::isWhitepace)) ? Optional.empty() : Optional.of(s);}...notBlank(myStr).orElse("some default")


