您的位置:首页 > 产品设计 > UI/UE

String(StringBuilder)

2017-09-25 19:12 417 查看

StringBuilder与StringBuffer

import com.sun.xml.internal.ws.util.StringUtils;


StringBuilder与StringBuffer效果是一样的

区别:StringBuilder是线程不安全的

StringBuffer是线程安全的

在多线程操作情况下应使用StringBuffer,因为StringBuffer是线程安全的,而进行必要的安全验证操作,所以效率上要比STringBuilder低

Apache Commons :Commons-lang

StringUtils:

public class TestThree {
//测试Commons-lang下的StringUtils功能
public static void main(String[] args) {
String info = StringUtils.repeat("hello",5);
System.out.println(info);
String leftPad = StringUtils.LeftPad("hello",20,"a");
System.out.println(leftPad);
//StringUtils.RightPad();
/**
* StringBuilder:该类用于对某个字符串频繁的编辑操作,使用StringBuilder
* 可以在大规模修改字符串时不开辟新的字符串对象,从而节约内存资源,所以,
* 对已有大量操作字符串的逻辑中,不应使用String而应该使用StringBuilder
*/
String info1 = "Java";
for(int i= 0;i<1000;i++){
info1+="java";
}
StringBuilder builder = new StringBuilder("java");
for(int i=0;i<1000;i++){
//append在当前字符串末尾拼接给定的字符串,等同于字符串的+=操作,同
//info+="java"
builder.append("java");
}
//builder.toString() builder的重载
String info11 = builder.toString();
System.out.println(info11);
//创建一个StringBuilder,向字符串中追加内容
StringBuilder builder1 = new StringBuilder();
builder1.append("大家好!");
//append是有返回值的,返回类型是StringBuilder,而返回的这个StringBuilder其实
//就是自己(this)
builder1.append("我是DGC");
builder1.append("没了");
//builder.append().append().append
System.out.println(builder1.toString());
//想在当前字符串中"!"的位置后面追加一个"!"
builder.insert(4, "!");
System.out.println(builder1.toString());
//在字符串中插入内容使用insert方法,insert(int index,String str),在index
//的位置插入str,原位置的内容依次往后移,将DGC替换CLS
builder1.replace(7, 10,"CLS");
//包前不包后
System.out.println(builder1.toString());
//将没了删除
builder1.delete(10,builder1.length());
System.out.println(builder1.toString());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  String