字符串常用类

String

String的简单介绍

  1. 代表字符串,java的所有字符串字面值,都是该类的实现。
  2. 被final修饰,不可变的字符序列
  3. 常量,定义后不可修改
  4. 存在final char[] 数组中
  5. 实现了Serializable接口,表示可以序列化的
  6. 实现了Comparable接口,表示可以比较大小

    String的常用方法

  7. length()长度

  8. charAt(n)截取索引第N位字符
  9. isEmpty()判断是否为空
  10. toLowerCase()转为小写
  11. toUpperCase()转为大写
  12. trim()去掉开头末尾空格
  13. eqals()比较
  14. eqalsignoreCase()忽略大小写比较
  15. compareTo():比较大小
  16. substring(a)从索引a开始截取
  17. substring(a,b)从索引a到索引b
  18. comcat()相当与
  19. endsWith\startsWith是否以指定的字符串开始结束
  20. contains(s)是否包含
  21. indexOf(s)返回子字符串第一次出现的索引
  22. indexOf(s,n)从n开始找s
  23. lastIndexOf(s)最后一个出现S的索引
  24. replace(c1,c2)用c1替换C2
  25. replace(s,s)字符串换字符串
  26. replaceAll(z,s)使用正则表达式替换
  27. matche(z)是否匹配正则
  28. split()切片

    String 的转换

  29. 包装类转成String : String.valueOf(其他包装类)

  30. String转成包装类:包装类.parseXXX(String)
  31. 与char[]的转换 实例.toCharArray
  32. 与byte[]的转换 实例.getBytes()

    StringBuffer 和 StringBuilder 与 String 的异同

  33. String :不可变的字符序列,底层用 final char[]数组存储

  34. StringBuffer:可变的字符序列,线程安全的,效率较低。用char[]数组存储
  35. StringBuilder:可变的字符序列,线程不安全的,效率较高。用char[]数组存储。
  36. 空StringBuffer和StringBuilder默认char[]长度为16,
  37. 扩容问题:append后的长度超过当前value.length,扩容为原有数组的两倍+2,还不够就直接用append后的长度赋值当做数组长度使用。
  38. StringBuffer常用方法
    1. append(o)末尾添加
    2. delete(start,end)删除指定序列区间的字符
    3. replace(start,end,str)替换指定序列区间的字符
    4. insert(int,str)在指定序列之前插入str
    5. reverse()倒叙当前字符序列
    6. indexOf(s)返回指定字符第一次出现的位置
    7. substring(n,n)截取指定序列区间的字符
    8. charAt(n)返回指定序列的字符
    9. setCharAt(n,s)替换指定位置的字段