字符串常用方法总结与StringBuffer基础

字符串

基本特性

  1. final:字符串被修饰为final,是不能被继承的。

  2. immutable:字符串是不可改变的,例如创建了一个字符串对象,就不可改变它,即不能进行增删查改其中的字符。一旦创建好这个字符串,里面的内容永远不改变,字符串的表现就像一个常量。

  3. 字符串长度:

    str.length();
    //数组长度
    array.length;
    //集合类的长度
    arraylist.size();

常用方法

char a = str.charAt(0);//获取指定位置的字符
char[] cs = str.toCharArray();//获取对应的字符数组
String substr1 = s.substring(3);//截取从第3个开始的字符串(基0)
String substr1 = s.substring(3,5);//截取从第3个到第5-1个位置的字符串
String[] strs = s.split(",");//根据参数进行分割,得到一定个数的子字符串
s = s.trim();//去掉首尾空格
s.toLowerCase();//全部变成小写
s.toUpperCase();//全部变成大写
int i = s.indexOf("8个");//indexOf()判断字符或字符串出现的位置
int i2 = s.indexOf(',', 5);//从位置5开始,','出现的位置
boolean r = s.contains("击杀");//判断是否包含子字符串
String temp = s.replaceAll("QQ", "WW");//将QQ替换为WW
String t = s.replaceFirst("QQ", "WW");//将第一个QQ替换成WW

StringBuffer

StringBuffer是可以变长的字符串。与String内部是一个字符数组一样,StringBuffer也维护了一个字符数组。

但是StringBuffer内的字符数组留有冗余长度。sb.length是已有字符的长度,初始长度为capacity,不同的JDK值不同。

超过capacity的话,就会进行扩容。先计算出新的容量,创建一个新的数组,然后将原数组复制到新数组中。

String str = "hello, world"
StringBuffer sb = new StringBuffer(str);//根据str创建一个StringBuffer对象
sb.append("hello again");//在最后追加
sb.delete(4, 10);//删除4-10之间的字符
sb.insert(4, "lalal");//在4这个位置插入
sb.reverse();//反转

你可能感兴趣的:(字符串常用方法总结与StringBuffer基础)