1. String 类型有什么特点?
答:String不是基本数据类型,而是一个类,它被用来表示字符序列;特点是一旦赋值,便不能更改其指向的字符对象。如果更改,则会指向一个新的字符对象,原来的字符对象依旧在内存中并未被删除。
-------------------------------------------------------------------------------
2. String什么时候进行值比较,什么时候进行引用比较?
答:一般用“equals()”时是值比较,而用“==”时是引用比较。
如书上的例子:
//值比较
package 第八章;
public class di4_2ti {
public static void main(String[] args){
String s = new String("Hello");
String t = new String("Hello");
if (s.equals(t)){ //值比较
System.out.println("相等");
}
else{
System.out.println("不相等");
}
}
}
//引用比较
package 第八章;
public class di4_1ti {
public static void main(String[] args){
String s = new String("Hello");
String t = new String("Hello");
if (s==t){ //引用比较
System.out.println("相等");
}
else{
System.out.println("不相等");
}
}
}
-------------------------------------------------------------------------------
3. String和StringBuffer的区别是什么?如何相互转化?
答:String一旦赋值,便不能更改其指向的字符对象,而StringBuffer对象可以调用其方法动态地进行增加,插入和删除操作。
StringBuffer的构造方法可将一个String对象转化为StringBuffer,而其方法toString()可将一个StringBuffer转化成一个String对象。