深入了解String

  1. String是final类,不能被其他的类继承
  2. String 有属性private final char value[];用于存放字符串,其实还是按照字符串存储的。(value是final类型,一旦赋值,不可以修改,这里的修改是指他的地址。即value不能改变指向的数组地址,但是它的内容可以改变
  3. intern()方法的作用:返回的是常量池地址。(注意两点:常量池的地址)
            若是字符串常量池中不存在这个字符串,那么,就创建一个引用,把该字符串实例对象的引用复制过来,并返回该地址。
            若是字符串常量池中已存在该字符串,那么直接返回该字符串的地址。
  4. 小插曲:人民币升值了,我就想去买买买,若是出国消费的话,我就想去买美国的东西,有利于进口,人民币升值,对应美元贬值,就是说美元不值钱了,那美国佬就不想花高价钱买我们的东西,就不利于出口,而我们国家的经济的发展主要是考出口赚外汇和投资驱动的(目前来看的话)
String c1 = "ab" + "cd";
//常量相加,看的是池

String c1 = a + b;

//变量相加,看的是堆。
  1. final修饰引用数据类型表示其中的地址不可更改,值还是可以更改的。与第二点相对应。
  2. 数组就是直接放堆里面了,要是字符串的话,我们必须要知道字符串是存放在常量池中的,此时堆中存放的也是地址,这个地址指向常量池。那个对象是指向堆的。调用一个方法就要开辟一个临时的栈。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值