下面举例说明
StringBuilder 是可变的字符串
public class StrDemo {
public static void main(String[] args) {
String str1 = "我java"
StringBuilder sb = new StringBuilder(str1)//构造一个StringBuilder对象
sb.insert(1, "正在学习")//在指定的位置1,插入指定的字符串
str1 = sb.toString()
System.out.println(str1)
}
}
输出
1
我正在学习java
StringBuilder 在大量字符串操作的情况下,效率明显比字符串用加号(+)连接,快很多。
java中string获取指定位置的字符具体如下:
//截取#之前的字符串String str = "sdfs#d"str.substring(0, str.indexOf("#"))//
输出的结果为:sdfs//indexOf返回的索引也是从0开始的,所以indexOf("#") = 4。
//java中的substring的第一个参数的索引是从0开始,而第二个参数是从1开始。
如何将一个String类型的变量获取指定位置的值;这里说的是在没有split的情况下,如:String str = "CDZ"如何获取分开的字符; 将str转换成StringBuffer进行处理:
public class Test {
public static void main(String[] args){
String processNode = "DZ"
StringBuffer sb = new StringBuffer(processNode)
for(int i = 0 i < sb.length() i++){
System.out.println(sb.charAt(i))
}
}
}
可以使用StringBuffer定义字符串,之后使用replace方法替换指定位置的字符串为指定的字符串内容,如下代码:publicclassDemo1{publicstaticvoidmain(String[]args){StringBufferbuffer=newStringBuffer("123456")System.out.println(buffer.toString())//输出123456buffer.replace(0,1,"a")System.out.println(buffer.toString())//输出a23456}}这里简单介绍一下replace方法的使用,replace方法一共有三个参数,第一个参数是指定要替换的字符串的开始位置,第二个参数是指定要替换的字符串的结束位置(注意这里的结束位置不包括本身),第三个参数是指定想将字符串替换成什么内容。如:原字符串内容为"123456",现在调用replace(0,2,"abc"),原字符串变为"abc3456"