String类型的变量赋值null和““的区别

本文探讨了字符串变量str1和str2的区别,包括它们在内存分配上的不同(str2在栈中不产生堆数据,str1则有),以及对null和空字符串的处理,强调了null调用方法的限制和空字符串的可操作性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String str1="";
String str2=null;
两者的区别在于

1.堆栈中的区别
str2会存在于栈中,但是堆中不会产生数据。
str1会存在于栈中,但是堆中也会产生数据。

2.方法引用
str2为null,不能调用String中的任何方法,否则会报空指针异常错误。
str1为"",可以调用String的方法。

""是空字符串,但是也是字符串。
而null是空的意思,什么都没有,没有地址。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值