a.二者都是容器,可以用来存储数据
b.但是
数组可以存储多种数据,但必须是同一种数据类型
StringBuffer也可以存储多种数据,但是它最终是里面存放的都是字符串数据
package org.wdit.unit10.String.Stringbuffer;
/*面试题:
* a. String,StringBuffer,StringBuilder三者区别
1.String内容是不可变的,而StringBuffer和StringBuilder是内容可变的。
*
2.StringBuffer是同步的,数据安全性较高,但是效率很低
StringBuilder是不同步的,数据安全性低,但效率高。
b.StringBuffer与数组的区别
1.二者都是容器,可以用来存储数据
2.但是
数组可以存储多种数据,但必须是同一种数据类型
StringBuffer也可以存储多种数据,但是它最终是里面存放的都是字符串数据
c.看程序写结果
* 这道题主要考察String和String Buffer作为形式参数传递的问题
String作为形式参数传递时,效果和基本数据类型作为参数传递是一样的*/
public class StringBufferTest3 {
public static void main(String[] args) {
String s1="Hello";
String s2="World";
System.out.println(s1+"------"+s2);
method(s1,s2);
System.out.println(s1+"------"+s2);
StringBuffer sb1=new StringBuffer("Hello");
StringBuffer sb2=new StringBuffer("World");
System.out.println(sb1+"---------"+sb2);
method(sb1,sb2);
System.out.println(sb1+"---------"+sb2);
}
public static void method(String s1,String s2){
s1=s2;
s2=s1+s2;
}
public static void method(StringBuffer sb1,StringBuffer sb2){
sb1=sb2;
sb2.append(sb1);
}
/*结果:Hello----World
Hello----world
Hello-----world
Hello-----worldworld*/
}