1、String是基本數(shù)據(jù)類型嗎?
String不是基本數(shù)據(jù)類型。
2、String是可變的?
String是final類型的,不可變。
3、怎么比較兩個字符串的值一樣,怎么比較兩個字符串是否同一對象?
比較字符串的值是否相同用equals,比較字符串對象是否同一個用==。
4、switch中可以使用String嗎?
jdk7+中的switch可以使用String類型。
5、String str = new String("abc");創(chuàng)建了幾個對象,為什么?
創(chuàng)建了兩個,"abc"本身創(chuàng)建在常量池,通過new又創(chuàng)建在堆中。
6、String、StringBuffer、StringBuilder有什么區(qū)別?
String、StringBuffer、StringBuilder最大的不同是String不可變,后者可變。StringBuffer是線程安全的,StringBuilder線程不安全速度較快。
7、String.trim()方法去掉的是哪些字符?
trim去掉字符串首尾的空白字符。
8、String可以被子類繼承嗎?
既然String是final的,所以不能被繼承。
9、可以自定義java.lang.String類并使用嗎?
可以自定義java.lang.String類并編譯成功,但不能被加載使用,具體請學(xué)習(xí)類加載機制。
10、String與byte[]兩者相互之間如何轉(zhuǎn)換?
String > byte[] 通過String類的getBytes方法;byte[] > String通過new String(byte[])構(gòu)造器。