String s1= “abc”, String s2= new String(“abc”),s1==s2结果是什么?s1.equals(s2)结果是什么?
答:s1==s2结果为false。s1指向的常量池中的对象,s2指向的是堆内存中的对象,两者的地址值不同。s1.equals(s2)结果是true。String重写了equals方法,比较的是内容。
84.String和StringBuffer、StringBuilder的区别?
答: String是长度固定的字符串,而其他两个是长度可变的字符串。
StringBuffer和StringBuilder的区别:
StringBuffer是JDK1.0版本的,线程是安全的,效率比较低。
StringBuilder是JDK1.5出现的,线程不安全,效率高。
他们的共同点是:都是长度可变的字符串。
|
|