为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中的字符串总结笔记

标签:
Java

【问】

String类型的null,String(),String("");之间有什么区别?

    String s;
    String s1=null;
    String s2=new String();
    String s3=new String("");

比如说定义的这四个变量之间有什么不同?

【答】

当声明为String s1时:声明一个字符串对象,分配了一个内存空间,没有进行初始化,没有存入任何对象。

当声明为String s2 = null时:声明一个字符串对象,分配了一个内存空间,进行初始化,存入了一个空对象,值为空。

当声明为String s3 = new String 时:声明一个字符串对象,分配了一个内存空间,没有进行初始化,是在堆中创建一个字符串对象,并把引用放在栈中指向它的首地址。

当声明为String s4 = new String("" ) 时:声明一个字符串对象,分配了一个内存空间,初始化,存了一个字符串对象,是在堆中创建一个字符串对象,并把引用放在栈中指向它的首地址。

String s; 该语句表示只是声明了一个引用变量,但是并没有初始化引用,所以对变量s的任何操作(除了初始化赋值外) 都将引发异常。

String s=null; 表示未申请任何内存资源,即些语句表示声明了一个引用变量并初始化引用,但是该引用没有指向任何对象,但可以把它作为参数传递或其它使用,但是不能调用它作为对象的方法。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消