一、StringBuilder和String
string 对象时恒定不变的,stringBuider对象表示的字符串是可变的。stringBuilder是.net提供的动态创建string的高效方式,以克服string对象恒定性带来的性能影响。
对于简单的字符串连接操作,在性能上stringBuilder并不一定总是优于string。因为stringBuider对象创建代价较大,在字符串目标连接较少的情况下,过度滥用stringBuilder会导致性能的浪费,只有大量的或者无法预知次数的字符串操作,才考虑stringBuilder来实现。事实上,一般连接次数设置100次以内,根本看不出两者的性能差别。
当修改字符串信息时,此时不许创建对象,可以使用stringBuilder对象。
相互转换如下:
StringBuilder sb = new StringBuilder();
String s=sb.tostring();
String ss;
StringBuilder sb = new StringBuilder(ss);
二、使用步骤
1.拼接字符串StringBuilder
package www.wwww;
public class test5 {
public static void main(String[] args) {
int[]array={1,2,3};
String s=mystring(array);
System.out.println("s:"+s);
}
public static String mystring(int[]array){
StringBuilder sb = new StringBuilder();
sb.append("[");
for(int i=0; i<array.length; i++){
if(array.length-i==0){
sb.append(array[i]);
}else{
sb.append(array[i]);
sb.append(", ");
}
}
sb.append("]");
String ss=sb.toString();
return ss;
}
}
sb.append();
2.字符串反转
代码如下(示例):
package www.wwww;
import java.util.Scanner;
public class test6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串");
String line=sc.nextLine();
String ss=myreverse(line);
System.out.println(ss);
}
public static String myreverse(String s) {
return new StringBuilder(s).reverse().toString();
}
}
sb.reverse();
总结
提示:这里对文章进行总结:
本文讲解了String 和StringBuilder的区别,同时使用append();和reverse();来拼接和反转字符串。