java中string的intern()解析

在Java的api中的解释是
intern()
          返回字符串对象的规范化表示形式。
这句话很难理解

以例子说明作用
 

         String str1 = "fly";
        String str2 = "weight";
        String str3 = "flyweight";
        String str4 = null;
        str4 = str1 + str2;
        System.out.println(str3 == str4);
        str4 = (str1 + str2).intern();
        System.out.println(str3 == str4);

结果是:
      flase
      true
原因是,以下图解释

attachments/200910/0152444653.png

attachments/200910/9174478723.png
attachments/200910/5713024774.png
 
String的intern()方法
如果池(Pool)中已经包括了相同的String对象(相同与否由equals()方法决定),那么会从池中返回该字符串
否则的话原String对象会被加入池中,并返回这个String对象的参考
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值