如何检查字符串是否不为空且不为空?
public void doStuff(String str) { if (str != null && str != "**here I want to check the 'str' is empty or not**") { /* handle empty string */ } /* ... */ }
那么isEmpty()呢?
if(str != null && !str.isEmpty())
请务必&&按此顺序使用 的部分,因为如果第一部分失败,java 将不会继续评估第二部分&&,从而确保您不会从str.isEmpty()ifstr为 null 得到空指针异常。
&&
str.isEmpty()
str
请注意,它仅在 Java SE 1.6 之后可用。您必须检查str.length() == 0以前的版本。
str.length() == 0
也忽略空格:
if(str != null && !str.trim().isEmpty())
(因为 Java 11str.trim().isEmpty()可以简化为str.isBlank()也将测试其他 Unicode 空白)
str.trim().isEmpty()
str.isBlank()
包装在一个方便的功能中:
public static boolean empty( final String s ) { // Null-safe, short-circuit evaluation. return s == null || s.trim().isEmpty(); }
变成:
if( !empty( str ) )