Java面向对象程序设计第8章3-5
Java面向对象程序设计第8章3-5
3.String类型有什么特点?
- 一旦赋值,便不能更改其指向的字符对象
- 如果更改,则会指向一个新的字符对象
- 不能为null
4.String什么时候进行值比较,什么时候进行引用比较?
值比较: stringA.equals(stringB);
引用比较: stringA==stringB;
5.String与StringBuffer(补充StringBuilder)的区别是什么?如何相互转化?
区别:
-
String内部实现基于常量字符数组,内容不可变;
StringBuffer、StringBuilder基于普通字符数组,
数组 大小可根据字符串的实际长度自动扩容,内容可变
-
性能方面,对于字符串的处理,相对来说
StringBuilder >StringBuffer>String
- StringBuffer线程安全;StringBuilder非线程安全
相互转化:
StringBuffer的构造方法可将一个String对象转化为StringBuffer,而其方法toString()可将一个StringBuffer转化成一个String对象。
例:
String s = "a" + "b";
StringBuffer st=new StringBuffer(s);//String对象转化为StringBuffer
String s2=st.toString();//String对象转化为StringBuffer