JAVA-String

String

底层是字符数组

  1. 长度一旦确定,不能更改
  2. java提供了一个常量池概念,可以让String直接指向常量池
  3. 为了更加高效,设计了两个类 StringBuilder    StringBuffer

字节数组

        byte[] bytes={97,98,99,100};
        String s2=new String(bytes);
        String s5=new String(bytes,1,2);

        System.out.println(s2);
        System.out.println(s5);

字符数组

    char[] chars={'e','f','g','h'};
    String s4=new String(chars);
    String s6=new String(chars,1,2);
    System.out.println(s4);
    System.out.println(s6);

String构造方法

  • String str = "a"
  • new String("sad")
  • new String(byte[])
  • new String(char[])

String类常用方法

  • indexOf():返回指定字符的索引。
  • charAt():返回指定索引处的字符。
  • replace():字符串替换。
  • trim():去除字符串两端空白。
  • split():分割字符串,返回一个分割后的字符串数组。
  • getBytes():返回字符串的 byte 类型数组。
  • length():返回字符串长度。
  • toLowerCase():将字符串转成小写字母。
  • toUpperCase():将字符串转成大写字符。
  • substring():截取字符串。
  • equals():字符串比较。
  • isEmpty(): 判断字符串是否为空
  • contains():   是否包含
  • concat():   拼接到最后

StringBuilder   StringBuffer

都是可变的字符数组

也是创建字符数组,但是可以自动扩容

  • length()   长度
  • capacity()   容量(默认16,扩容是原长度加一乘二)  创建对象时传入的会加到默认容量
    • new StringBuilder("ads)      16+3        
  • append()   在最后添加内容
  • insert(位置,要添加的元素)   在指定位置添加元素
  • reverse()   反转

StringBuffer   线程安全,速度慢

StringBuilder   线程不安全,速度快

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值