Java 空字符串和null的区别【实践】

1、空字符串

""是一个空字符串,长度为0且占内存的可以使用Object对象中的方法。如"".toString()。

new String() 创建一个字符串对象,默认值为""。

检查一个字符串是否为空:

if (str.length() == 0)
//或
if (str.equals(""))

2、null

null是空引用,表示一个对象的值,没有分配内存。字符串为null,调用方法是会被空指针异常。

String类型的变量,默认值为null。

要检查一个字符串是否为 null:

if (str == null)

检查一个字符串既不是 null 也不为空串:

if (str != null && str.length() != 0)

注意:首先要检查 str 不为 null。

public static void main(String[] args) {
    String str1 = new String();
    String str2 = null;
    String str3 = "";
    System.out.println(str3.length()); // 空字符串""的长度为0
    System.out.println(str2.length()); // 抛出空指针异常
    System.out.println(str1); // 输出""
    System.out.println(str1 == str2); // 内存地址的比较,返回false
    System.out.println(str1.equals(str2)); // 值的比较,返回false
    System.out.println(str2 == str3); // 内存地址的比较,返回false
    System.out.println(str3.equals(str2)); // 值的比较,返回false
    System.out.println(str1 == str3); // 内存地址的比较,返回false
    System.out.println(str1.equals(str3)); // 值的比较,返回true
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值