一? String 是 常量?定义并赋值后不可再改变。
StringBuffer 是? 变量 (缓存)可以改变。StringBuffer 类和String 类一样,也用来代表字符串,只是由于StringBuffer 的内部实现方式和String 不同,StringBuffer 在进行字符串处理时,不生成新的对象,所以在内存使用上,StringBuffer 类要优于String 类。
例:String
public class Test5{
public static void main(String[] args) {
String str = "this is a String";
str.replace("s","k");
System.out.println(str);
System.out.println(str.replace("s","k"));
}
}
?输出结果:
this is a String thik ik a String
可以看到str 其实并没有因为replace方法而改变。
例: StringBuffer
public class Test5{
public static void main(String[] args) {
StringBuffer str = new StringBuffer("this is a StringBuffer");
str.delete(0,4);
System.out.println(str);
System.out.println(str.delete(0,4));
}
}
输出结果:
?is a StringBuffer a StringBuffer
可以看到str 俩次都发生了变化。
二? ?初始化方法:
String:
public class Test5{
public static void main(String[] args) {
String str1 = new String("构造方法");
String str2 = "赋值法";
System.out.println(str1);
System.out.println(str2);
}
}
String 可通过构造方法或是赋值法初始化。
StringBuffer:
public class Test5{
public static void main(String[] args) {
StringBuffer str1 = new StringBuffer("构造方法");
System.out.println(str1);
}
}
StringBuffer只能是构造方法 不可以 赋值法
三??
StringBuffer 类中存在很多和String 类一样的方法,这些方法在功能上是完全一样的。
StringBuffer 类中也有一些独特的方法,用于帮助我们更方便的实现某些功能。
|