常用类 String概述

String

 

字符串是常量,创建后不可改变。

字符串字面值存储在字符串池中,可以共享。

案列如下。

1.字符串字面值存储在字符串池中内存图如下。 

 2.不可变性:把name的值改成"张三",在内存中不是直接把“hello”改成“张三”,而是在字符串池中重新开辟个“张三”,name从指向“hello”改到指向“张三”

 3.新增一个变量name2,值为“张三”,那么name2会去字符串池中寻找有没有“张三”如果有的话,就把“张三”也赋给name2,这样就实现了常量共享。

字符串的另一种创建方式。

这种方式在堆中创建一个“字符串Java”,然后看字符串池是否有“java”,没有就开辟一个。此时变量str的地址是堆中“Java”的地址。

 思考一下,如果再用这个方法创建一个str2,值也为“java”,那么str == str2 吗?答案是不一样,创建对象会在堆中开辟新空间,给str2的地址和str的地址不同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值