String和StringBuffer的转换
String和StringBuffer,StringBuilder的区别: *A:String是内容不可变的,StringBuffer,StringBuilder是内容可变的。 *B:StringBuffer是同步的,数据安全,效率低;StringBuilder是异步的,数据不安全,效率高。 * StringBuffer和数组的区别: *都可以看作一个容器,装其他类型的数据 * ...
* A:String是内容不可变的,StringBuffer,StringBuilder是内容可变的。
* B:StringBuffer是同步的,数据安全,效率低;StringBuilder是异步的,数据不安全,效率高。
* StringBuffer和数组的区别:
* 都可以看作一个容器,装其他类型的数据
* StringBuffer的数据最终是一个字符串数组,可以是各种类型混合
* 数组可以放置多种数据,但必须是同一种类型的数据
* 形参问题:
* String作为参数传递
* StringBuffer作为参数传递
* 注意:
* String作为参数传递,和基本类型作为参数传递是一样的,
* StringBuffer作为参数传递,数据处理时,一般建议调方法,一般不做=判断和赋值
/*------------String -> StringBuffer ------*/
String s = "hello";
//不能直接把string的值赋给StringBuffer
//StringBuffer sb = "hello";
//方式一:用StringBuffer的构造方法赋值
StringBuffer sb1 = new StringBuffer(s);
//方式二:用append方法
StringBuffer sb2 = new StringBuffer();
sb2.append(s);
/*------------StringBuffer -> String ------*/
StringBuffer sb3 = new StringBuffer("java");
//方式一:构造方法:
String s1= new String(sb3);
System.out.println("s: " + s1);
//方式二:用StringBuffer的toString()方法
String s2 = sb3.toString();
//toString()方法返回值是String,调用类名是StringBuffer类
System.out.println("s2: " + s2);
更多推荐
所有评论(0)