package cn.itcast_08;
/*
* 面试题
* 1:String,StringBuffer,StringBuilder的区别?
* A:String是内容不可变的,而StringBuffer,STringBuilder内容可变的。
* B:StringBuffer是同步的,数据安全,效率低。
* C:StringBuilder是不同步的,数据不安全,效率高。
* 2:StringBuffer和数组的区别?
* 二者可以看出是一个容器,装其它的数据。
* 但是呢,StringBuffer数据最终是一个字符串数据。//sb.append(true).append(123)。
* 而数组可以放置多种数据,但必须是同一种数据类型的。//int[] arr = {1,2,3}数据类型必须相同
* 3:形式参数问题
* String作为参数传递
* StringBuffer作为参数传递
* 形式参数:
* 其本类型:形式参数的改变不影响实际参数
* 引用类型:形式参数的改变直接影响实际参数
*
* 注意:
* String作为参数传递,效果程基本类型是一样的。
*/
public class StringBufferDemo {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
System.out.println(s1 + "---" + s2);// hello --- world
change(s1, s2);
System.out.println(s1 + "---" + s2);// hello --- world
StringBuffer sb1 = new StringBuffer("hello");
StringBuffer sb2 = new StringBuffer("world");
System.out.println(s1 + "---" + s2);//hello --- world
change(sb1, sb2);
System.out.println(sb1 + "---" + sb2);//hello --- worldworld
}
public static void change(StringBuffer sb1, StringBuffer sb2) {
sb1 = sb2;
sb2.append(sb1);
}
public static void change(String s1, String s2) {
s1 = s2;
s2 = s1 + s2;
}
}
常见对象_StringBuffer的两个小面试题、String和StringBuffer分别作为参数传递
最新推荐文章于 2022-09-20 16:40:12 发布