2021_03_02_星期二 基础题目总结

  1. 不变模式的好处:一个对象需要被多线程共享并频繁访问时,可以保证数据的一致性
  2. String对象创建后,会在字符常量池中进行缓存,下次创建同样的对象,直接返回缓存的引用
  3. String为什么不可变的
    1. private final char value[];
  4. 不可变指的是内容不可变
String str1 = new String("abc");
String str2 = new String("ABC");
str1 = str2;
System.out.println(str1);//输出ABC
  1. String str = new String("abc");创建了几个对象?
    三个,str 常量池中的"abc",堆中的"abc"(new出来的)
  2. 字符串的反转,StringBuffer/StringBuilder的reverse()
  3. StringBuilder是线程不安全,StringBuffer是线程安全,StringBuilder比StringBuffer性能高15%~20%, 却要冒着线程不安全的风险,不划算
  4. 数组.length 字符串.length()
  5. String常用方法
    1. indexOf(char char);
    2. charAt(int index);
    3. subString(int begin,int end);
    4. length();
    5. replace();
    6. split(char char);
    7. trim();
    8. getBytes();
    9. toLowerCase();
    10. toUpperCase();
    11. 在使用HashMap的时候,用String来做key好处?
      HashMap内部实现是通过key的hashcode来确定value的存储位置,因为字符串是不可变对象,其hashcode经过一次计算便确定下来不再改变,相比于其他对象更快
    12. AbstractStringBuilder是StringBuilder和StringBuffer的公共父类定义了一系列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值