文章目录
一、含义
StringBuilder:字符串变量(非线程安全,但速度快)。常用。
StringBuffer:字符串变量(线程安全,但速度慢)。
String:字符串不可变。
StringBuilder str1 = new StringBuilder();
str1 = "123";
StringBuilder str2 = new StringbBuilder("123");
System.out.println("str1 = " + str1 + ",str2 = " + str2);
二、长度
语法:str1.length();
StringBuilder str1 = new StringBuilder("123");
System.out.println(str1.length());
三、增加
3.1 末尾增加——append()
语法:str1.append(str2);
StringBuilder str1 = new StringBuilder("123");
StringBuilder str2 = new StringBuilder("45");
str1.append(str2);
System.out.println(str1); // 结果:12345
str1,append("6");
System.out.println(str1); //结果:123456
3.2 任意位置增加——insert()
语法:str1.insert(index,str2);
StringBuilder str1 = new StringBuilder("123");
StringBuilder str2 = new StringBuilder("45");
str1.insert(1,str2);
System.out.println(str1); // 结果:14523
str1,insert(1,"6");
System.out.println(str1); //结果:164523
四、替换——replace()
语法:str.replace(endIndex,endIndex,newStr);
StringBuilder str1 = new StringBuilder("123");
str1.replace(1,2,"A");
System.out.println(str1); // 结果:1A3
五、删除——delete()
语法:str.delete(endIndex,endIndex);
StringBuilder str1 = new StringBuilder("123");
str1.replace(1,2);
System.out.println(str1); // 结果:13
六、查询
6.1 索引查询——charAt()
语法:str.charAt(Index);
StringBuilder str1 = new StringBuilder("123");
System.out.println(str1.charAt(2)); // 结果:3
6.2 字符查询——indexOf()
语法:str.indexOf(strg,startIndex);
StringBuilder str1 = new StringBuilder("13223");
System.out.println(str1.indexOf("3",2)); // 结果:4
6.3 获取——substring()
语法:str.substring(startIndex,endIndex);
StringBuilder str1 = new StringBuilder("13223");
System.out.println(str1.substring(1,2)); // 结果:3
System.out.println(str1.substring(1)); // 结果:3223
七、转换
7.1 转换为String型
语法:str.toString();
StringBuilder str1 = new StringBuilder("123");
String str = str1.toString();
System.out.println(str); // 结果:123
7.2 转换为字符数组
思路:先转换为String型,再转换成字符数组。
StringBuilder str1 = new StringBuilder("123");
String str = str1.toString();
char[] arr1 = str.toCharArray();
System.out.println(Arrays.toString(arr1)); // 结果:[1,2,3]
八、反转——reverse()
语法:str.reverse();
StringBuilder str1 = new StringBuilder("123");
str1.reverse();
System.out.println(str1); // 结果:321
九、比较——equals()或==
即比较内容是否相等,又比较内存地址是否相等。
语法:字符串名.equals(待比较字符串名);
语法:字符串名==待比较字符串名;
StringBuilder str1 = new StringBuilder("bjh");
StringBuilder str2 = new StringBuilder("bjh");
System.out.println(str1 == str2); // 结果:false。
System.out.println(str1.equals(str2)); // 结果:false。