在Java中,空字符串和空字符串是两个不同的概念。对于Java初学者来说,检查String是否为空或为空总是令人困惑和棘手。空字符串是初始化为没有任何字符的String对象,而空白字符串是具有空格字符的String。始终记住,仅包含空格的String可能会或可能不会被视为空,具体取决于程序。根据您的情况,您还可以包括进行检查的逻辑。在Java中,仅包含空格的字符串也称为空白字符串。在本教程中,我将教给您一些正确的方法来检查Java中String是空还是空。
检查Java中的字符串是否为空或为空
为了确保我们与定义在同一页面上,如果String为null或没有任何长度的字符串,则将其视为空。如果字符串仅包含空格,则将其称为空白。
对于Java,空格是空格,制表符等字符。看一下Character.isWhitespace为例。
以下是检查Java中String是否为空或空白的不同方法。
1)使用isEmpty()在Java 6及更高版本中进行空字符串检查
这是检查字符串是否为空的最易读的方法。您可以从下面的代码中看到,第一个检查是空检查,第二个检查是空的。
java
package com.kodehelp.java.lang; public class StringNullEmptyCheck { public static void main(String[] args) { String string1 = null; String string2 = ""; if(isStringEmpty(string1)){ System.out.println("string1 is Empty!"); } if(isStringEmpty(string2)){ System.out.println("string2 is Empty!"); } } static boolean isStringEmpty(String string){ return string==null || string.isEmpty(); } }
2)使用length()在Java 5及以下版本进行空字符串检查
这是通用解决方案,并且在从JDK 1.0到Java 15的所有Java版本中均可使用。强烈建议使用此方法,因为它具有可移植性的优点。这也是检查Java中String是否为空的最快方法。
package com.kodehelp.java.lang; public class StringNullEmptyCheck { public static void main(String[] args) { String string1 = null; String string2 = ""; if(isStringEmpty(string1)){ System.out.println("string1 is Empty!"); } if(isStringEmpty(string2)){ System.out.println("string2 is Empty!"); } } static boolean isStringEmpty(String string){ return string==null || string.length() == 0; } }
3)使用Java 10及以下版本的空白字符串检查
如果程序将仅包含空格的字符串视为空白字符串,则可以使用以下解决方案。
package com.kodehelp.java.lang; public class StringNullEmptyCheck { public static void main(String[] args) { String string1 = null; String string2 = " "; if(isStringEmpty(string1)){ System.out.println("string1 is Empty!"); } if(isStringEmpty(string2)){ System.out.println("string2 is Empty!"); } } static boolean isStringEmpty(String string){ return string==null || string.trim().length() == 0; } }
4)使用Java 11及以上版本的空白字符串检查
Java 11引入了isBlank()检查字符串是否为空或是否包含空格字符的方法。这使得检查字符串是否为空或空白更为直接。下面的示例演示如何使用该isBlank()方法。
package com.kodehelp.java.lang; public class StringNullEmptyCheck { public static void main(String[] args) { String string1 = null; String string2 = " "; if(isStringEmpty(string1)){ System.out.println("string1 is Empty!"); } if(isStringEmpty(string2)){ System.out.println("string2 is Empty!"); } } static boolean isStringEmpty(String string){ return string==null || string.isBlank(); } }
您还可以使用Google Guava,Spring或Apache Commons检查空字符串或空字符串。
原文链接:http://codingdict.com