Java学习-常用类(StringBuilder)

一、含义

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。

猜你喜欢

转载自blog.csdn.net/lizengbao/article/details/86674669