面5-String

1、三大核心机制:

不变性、常量池优化、final

1.1只要对String进行修改,那就是创建了一个新的对象
1.2 不变性:

是一个immutable模式的对象,不变模式的主要作用是当一个对象需要被多线程共享并频繁访问时,可以保证数据的一致性

1.3 常量池优化:

String对象创建之后,会在字符串常量池中进行缓存,下次创建同样的对象时,会直接返回缓存对象的引用

1.4 final:

String类不可被继承,提高了系统的安全性

2、String

2.1 创建方式
        System.out.println(num);
        String str1 = "str1"; // 存放于字符串常量池中
        String str2 = new String("str1"); // 存放于堆内存中
        char[] chars = {'x','s'};
        String str3 = new String(chars);

直接复制存储于字符串常量池中,new的时候存储于堆内存中

2.2 大小比较
        String com1 = "com";
        String com2 = "com";
        String com3 = new String("com");
        String com4 = new String("com");
        System.out.println(com1 == com2); // T
        System.out.println(com1 == com3); // F
        System.out.println(com4 == com3); // F               System.out.println(com3.equals(com4)); // T
2.3 重写了equals方法

用于判断String的值是否相等

2.4 intern()
        System.out.println(com1 == com3.intern()); // T

当调用某个字符串对象的intern()方法,会去字符串常量池中找这个字符串,找到之后直接返回当前对象的引用,如果不存在,则在字符串常量池中创建该对象并返回

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值