java中String类是什么_java中String类有什么特点

20200801_5f25a0e026f1d.jpg

特点:

(推荐教程:java入门教程)

1、String类是被final修饰的,是不能被继承的。

2、String类底层使用数组结构。jdk9以前使用的是char[],jdk9以后使用的是byte[]。

3、String的对象一旦创建就不能修改,底层维护了一个字符串常量池,实现共享。

注意:String类的对象每次修改都会产生一个新的对象。

(视频教程推荐:java视频教程)

String对象的拼接

常量池中的字符串常量 + 常量池中的字符串常量 :结果是存储在常量池中

String c = "a"+"b"; String ab = "ab"; System.err.println(ab==c); //输出true123

变量 + 常量池中的字符串常量 : 结果是存储在堆中的

String a = "a"; String c = "a"+"b"; System.err.println(c==a+"b"); //输出false123

如果拼接结果调用intern()方法,返回值就在常量池中

String a = "a"; String b = "b"; String c = "a"+"b"; System.err.println(c==a+b); //输出false,证明String类的拼接中只要有一个是变量,结果就存在堆中 String a = "a"; String b = "b"; String c = "a"+"b"; System.err.println(c==(a+b).intern()); //输出true,说明如果拼接结果调用intern()方法,返回值就在常量池中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值