String相关

1.String、StringBuffer和StringBuilder的区别

  • String和StringBuilder线程不安全,StringBuffer线程安全;
  • String不可变,StringBuffer和StringBuilder可变;
  • 运行效率从快到慢:StringBuilder > StringBuffer > String;(StringBuffer基本上没有差别)
  • String实现了Comparable接口,StringBuffer与StringBuilder没有实现Comparable接口,因此String可以使用compareTo方法比较字符串的大小;

2.String的equals()方法
请看源码:
在这里插入图片描述

  1. 比较实际内存地址是否相同;相同则返回true
  2. 查看比较对象是否是String对象;不是返回false
  3. 比较字符串长度是否相等;不相等返回false
  4. 从左到右依次比较char是否相同;不相同返回false
  5. 返回true

3.String的compareTo()方法
请看源码:
在这里插入图片描述
从左到右比较两字符串的指定索引char值,若char值不同则返回char值之差

4.subString()方法

  • public String substring(int beginIndex):返回索引beginIndex及其以后的字符串;举例:“abcdefg”.substring(1)返回bcdefg
  • public String substring(int beginIndex, int endIndex) :返回索引为beginIndex到索引为endIndex-1的字符串;举例:
    abcdefg”.substring(1,5):返回bcde

5.String为什么不可变

  • String被final修饰了,因此不可继承;
  • String底层是char数组,这个数组也是final的,因此不可变;
  • 此外,String的length也是final修饰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值