package day01;
public class TestStringUtils {
/*
* 测试Commons-lang下的StringUtils功能
*/
public static void main(String[] args) {
/*
* repeat的作用是将给定的字符串重复拼接给定次后返回
*/
String info = StringUtils.repeat("hello",5);
System.out.println(info);
String leftPad = StringUtils.leftPad("hello",20,"a");
System.out.println(leftPad);
}
}
package day01;
/*
* StringBuilder该类用于对某个字符串频繁的编辑操作
* 使用StringBuilder可以在大规模修改字符串时不开辟新的字符串
* 对象,从而节约内存资源。
* 所以,对于有着大量操作字符串的逻辑中,不应该使用String而应该使用StringBuilder。
*/
public class TestStringBuilder {
public static void main(String[] args) {
// String info = "java";
// for(int i=0;i<100;i++){
// info += "java";
// }
// System.out.println(info);
StringBuilder builder = new StringBuilder("java");
for(int i=0;i<100;i++){
/*
* append在当前字符串末尾拼接给定的字符串
* 等同于字符串的+=操作,同上info+="java".
*/
builder.append("java");
}
String info = builder.toString();
System.out.println(info);
//创建一个StringBuilder
StringBuilder builder1 = new StringBuilder();
/*
* 向字符串中追加内容
* append是有返回值的,返回类型是StringBuilder
* 而返回的这个StringBuilder起始就是自己(this)
* append方法的最后一句是return this;
*/
builder1.append("大家好!")
.append("我是康康,")
.append("大家再见");
System.out.println(builder1.toString());
/*
* 想在当前字符串中"!"的位置后面追加一个"!"
* 在字符串中插入内容使用insert方法
* insert(int index,String str)
* 在index的位置插入str,原位置的内容依次往后移
*/
builder1.insert(4,"!");
System.out.println(builder1.toString());
/*
* 将康康替换为苍老师
*/
//大家好!!我是康康
builder1.replace(7,9,"苍老师");
System.out.println(builder1.toString());
/*
* 将再见删除
*/
builder1.delete(10, builder1.length());
System.out.println(builder1);
/*
* StringBuilder与StringBuffer
* 效果是一样的
* 区别:
* StringBuilder不是线程安全的
* StringBuffer是线程安全的
* 在多线程操作情况下应使用StringBuffer
* 因为StringBuffer是线程安全的,它要顾及安全问题,而进行必要的安全验证操作。所以
* 效率上要比StringBuilder低。根据实际情况选择。
*/
}
}