Java中的StringBuilder类是一个可变的字符串,可以进行添加、插入、删除、替换等操作。以下是StringBuilder的一些基本操作:
StringBuilder sb = new StringBuilder(); // 创建一个空的StringBuilder对象 StringBuilder sb = new StringBuilder("hello"); // 创建一个包含字符串"hello"的StringBuilder对象 StringBuilder sb = new StringBuilder(16); // 创建一个初始容量为16的StringBuilder对象
tringBuilder sb = new StringBuilder(); sb.append("hello"); sb.append(" "); sb.append("world"); System.out.println(sb.toString()); // 输出 "hello world"
StringBuilder sb = new StringBuilder("hello"); sb.insert(2, "w"); System.out.println(sb.toString()); // 输出 "hewllo"
StringBuilder sb = new StringBuilder("hello"); sb.delete(2, 4); // 删除位置2到位置3的字符,包括位置2,不包括位置4 System.out.println(sb.toString()); // 输出 "heo"
StringBuilder sb = new StringBuilder("hello"); sb.replace(2, 4, "p"); // 将位置2到位置3的字符替换为字符串"p",包括位置2,不包括位置4 System.out.println(sb.toString()); // 输出 "help"
StringBuilder sb = new StringBuilder("hello"); sb.reverse(); System.out.println(sb.toString()); // 输出 "olleh"
StringBuilder sb = new StringBuilder("hello"); String str = sb.toString(); System.out.println(str); // 输出 "hello"
StringBuilder sb = new StringBuilder("hello"); int len = sb.length(); System.out.println(len); // 输出 5
StringBuilder sb = new StringBuilder("hello"); sb.setLength(8); // 将StringBuilder对象的长度设置为8 System.out.println(sb.toString()); // 输出 "hello "
StringBuilder sb = new StringBuilder("hello"); sb.setLength(0); // 清空StringBuilder对象中的字符串 System.out.println(sb.toString()); // 输出 ""
StringBuilder sb = new StringBuilder("hello"); char ch = sb.charAt(1); // 获取StringBuilder对象中位置为1的字符,即字符'e' System.out.println(ch); // 输出 'e'
StringBuilder sb = new StringBuilder("hello"); String sub = sb.substring(1, 4); // 获取StringBuilder对象中位置1到位置3的子字符串,包括位置1,不包括位置4 System.out.println(sub); // 输出 "ell"
以上就是StringBuilder的一些基本操作。需要注意的是,StringBuilder是非线程安全的,如果在多线程环境下使用,应该使用StringBuffer类来代替StringBuilder类。
StringBuilder sb = new StringBuilder("hello"); int index = sb.indexOf("l"); // 查找StringBuilder对象中第一次出现字符'l'的位置 System.out.println(index); // 输出 2 int lastIndex = sb.lastIndexOf("l"); // 查找StringBuilder对象中最后一次出现字符'l'的位置 System.out.println(lastIndex); // 输出 3
StringBuilder sb1 = new StringBuilder("hello"); StringBuilder sb2 = new StringBuilder("hello"); StringBuilder sb3 = new StringBuilder("world"); boolean equal = sb1.equals(sb2); // 判断sb1和sb2是否相等 System.out.println(equal); // 输出 true int compare = sb1.compareTo(sb3); // 比较sb1和sb3的大小关系,返回一个整数,如果sb1大于sb3,返回一个正整数,如果sb1等于sb3,返回0,如果sb1小于sb3,返回一个负整数。 System.out.println(compare); // 输出一个负整数,因为sb1小于sb3。
StringBuilder sb = new StringBuilder("Hello"); String upper = sb.toString().toUpperCase(); // 将sb中的字符串转换为大写 System.out.println(upper); // 输出 "HELLO" String lower = sb.toString().toLowerCase(); // 将sb中的字符串转换为小写 System.out.println(lower); // 输出 "hello"
StringBuilder sb = new StringBuilder(); sb.append(String.format("The value of pi is %.2f", Math.PI)); // 格式化字符串,并添加到StringBuilder对象中 System.out.println(sb.toString()); // 输出 "The value of pi is 3.14"
以上就是一些常见的StringBuilder的操作。StringBuilder是一个非常有用的类,特别适用于需要频繁修改字符串的场景。在Java中,字符串是不可变的,如果需要修改字符串,每次都需要创建一个新的字符串对象,而使用StringBuilder可以避免这种情况,提高代码的效率。
StringBuilder sb = new StringBuilder("hello"); sb.insert(2, "world"); // 在位置2处插入字符串"world" System.out.println(sb.toString()); // 输出 "heworldllo"
StringBuilder sb = new StringBuilder("hello"); sb.delete(1, 3); // 删除位置1到位置2的字符串 System.out.println(sb.toString()); // 输出 "hlo"
StringBuilder sb = new StringBuilder("hello"); sb.replace(1, 3, "i"); // 将位置1到位置2的字符串替换为字符"i" System.out.println(sb.toString()); // 输出 "hilo"
StringBuilder sb = new StringBuilder("hello"); sb.reverse(); // 反转StringBuilder对象中的字符串 System.out.println(sb.toString()); // 输出 "olleh"
StringBuilder sb = new StringBuilder(); int capacity = sb.capacity(); // 获取StringBuilder对象的容量 System.out.println(capacity); // 输出 16
StringBuilder sb = new StringBuilder(); sb.ensureCapacity(32); // 将StringBuilder对象的容量设置为32
以上就是StringBuilder的一些基本操作,希望对你有所帮助。需要注意的是,StringBuilder是非线程安全的,如果在多线程环境下使用,应该使用StringBuffer类来代替StringBuilder类。
原文链接:codingdict.net