java中判断String类型为空和null的方法

1.判断一个String类型的变量是否为空(即长度为0)或者为null

在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查。这是因为null表示变量没有引用任何对象,而空字符串("")表示变量引用了一个没有内容的字符串对象。

下面是一个具体的代码示例,展示了如何判断一个String变量是否为空或null

java 复制代码
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方法中,我们展示了如何使用这个实用工具方法。

2.完整的代码示例

以下是一个完整的Java代码示例,其中包含了判断String是否为null或空("")的逻辑,以及一个辅助方法用于安全地获取字符串或默认值:

java 复制代码
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方法来安全地获取字符串或返回默认值。

相关推荐
鹓于19 小时前
Excel一键生成炫彩二维码
开发语言·前端·javascript
froginwe1119 小时前
MongoDB 固定集合详解
开发语言
让我上个超影吧19 小时前
天机学堂——BitMap实现签到
java·数据库·spring boot·redis·spring cloud
迷路爸爸18019 小时前
无sudo权限远程连接Ubuntu服务器安装TeX Live实操记录(适配VS Code+LaTeX Workshop,含路径选择与卸载方案)
java·服务器·ubuntu·latex
m0_7369191019 小时前
C++中的策略模式实战
开发语言·c++·算法
子春一19 小时前
Flutter for OpenHarmony:构建一个智能长度单位转换器,深入解析 Flutter 中的多字段联动、输入同步与工程化表单设计
开发语言·javascript·flutter
有梦想的攻城狮19 小时前
maven中的os-maven-plugin插件的使用
java·maven·maven插件·os-maven-plugin·classifer
从此不归路19 小时前
Qt5 进阶【9】模型-视图框架实战:从 TableView 到自定义模型的一整套落地方案
开发语言·c++·qt
Carry灭霸19 小时前
【BUG】Redisson Connection refused 127.0.0.1
java·redis
消失的旧时光-194319 小时前
第九课实战版:异常与日志体系 —— 后端稳定性的第一道防线
java·后端