String
类型的变量是否为空(即长度为0)或者为null
在Java中,判断一个String
类型的变量是否为空(即长度为0)或者为null
,通常需要使用两个条件语句来进行检查。这是因为null
表示变量没有引用任何对象,而空字符串("")表示变量引用了一个没有内容的字符串对象。
下面是一个具体的代码示例,展示了如何判断一个String
变量是否为空或null
:
- public class StringCheckExample {
-
- public static void main(String[] args) {
- // 定义一个可能为null或空的String变量
- String myString = null; // 我们可以根据需要更改这个变量的值
-
- // 判断String是否为null或空
- if (myString == null || myString.isEmpty()) {
- System.out.println("The string is null or empty.");
- } else {
- System.out.println("The string is not null and not empty. Its value is: " + myString);
- }
-
- // 注意:如果myString是null,直接调用myString.isEmpty()会抛出NullPointerException
- // 因此我们需要先检查myString是否为null
- }
-
- // 额外的方法,用于安全地检查String是否为空或null,并返回一个默认值
- public static String safeGetString(String input, String defaultValue) {
- return (input == null || input.isEmpty()) ? defaultValue : input;
- }
-
- // 使用safeGetString方法的示例
- public static void testSafeGetString() {
- String myString = null; // 或者 "",或者任何其他的String值
- String result = safeGetString(myString, "Default Value");
- System.out.println("The result is: " + result);
- }
- }
在这个示例中,main
方法展示了如何直接判断一个String
变量是否为空或null
。而safeGetString
方法则是一个实用工具方法,它接受一个String
输入和一个默认值,如果输入为null
或空,则返回默认值,否则返回输入值本身。在testSafeGetString
方法中,我们展示了如何使用这个实用工具方法。
以下是一个完整的Java代码示例,其中包含了判断String
是否为null
或空("")的逻辑,以及一个辅助方法用于安全地获取字符串或默认值:
- public class StringNullOrEmptyCheck {
-
- public static void main(String[] args) {
- // 示例1:测试一个为null的字符串
- String string1 = null;
- checkString(string1);
-
- // 示例2:测试一个空字符串
- String string2 = "";
- checkString(string2);
-
- // 示例3:测试一个非空非null的字符串
- String string3 = "Hello, World!";
- checkString(string3);
-
- // 使用safeGetString方法
- String safeString1 = safeGetString(string1, "默认值");
- System.out.println("safeString1: " + safeString1);
-
- String safeString2 = safeGetString(string2, "默认值");
- System.out.println("safeString2: " + safeString2);
-
- String safeString3 = safeGetString(string3, "默认值");
- System.out.println("safeString3: " + safeString3);
- }
-
- /**
- * 检查字符串是否为null或空
- *
- * @param input 待检查的字符串
- */
- public static void checkString(String input) {
- if (input == null || input.isEmpty()) {
- System.out.println("字符串是null或空。");
- } else {
- System.out.println("字符串不是null也不是空。其值为: " + input);
- }
- }
-
- /**
- * 安全地获取字符串或返回默认值
- *
- * @param input 待检查的字符串
- * @param defaultValue 默认值
- * @return 输入字符串(如果非null且非空),否则返回默认值
- */
- public static String safeGetString(String input, String defaultValue) {
- return (input == null || input.isEmpty()) ? defaultValue : input;
- }
- }
在这个代码中,main
方法分别测试了三种情况:null
字符串、空字符串和非空非null
字符串。对于每种情况,都调用了checkString
方法来检查结果。此外,还展示了如何使用safeGetString
方法来安全地获取字符串或返回默认值。