這篇文章將為大家詳細(xì)講解有關(guān)Java面試中有哪些關(guān)于String類的面試題,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
1.比較兩個(gè)字符串時(shí)使用“==”還是equals()方法?
當(dāng)然是equals方法?!?=”測試的是兩個(gè)對象的引用是否相同,而equals()比較的是兩個(gè)字符串的值是否相等。簡單來說,基本數(shù)據(jù)類型都可以使用==。而引用類型使用==比較不了。
2.如何將字符串轉(zhuǎn)化成int?
使用包裝類Integer。Integer.valueOf("2");其他基本數(shù)據(jù)類型都是類似
3.為什么在Java中存儲密碼要使用char[],而不使用String。
因?yàn)镾tring是不可變的,當(dāng)String創(chuàng)建之后,就不會再改變了。而char[]是可變的,程序員在用完之后可以將其改變,不會留下任何原始數(shù)據(jù)。所以,在使用密碼時(shí),一般都是會用char數(shù)組,例如JavaSwing中的JPassWordField,獲取密碼框的值就是使用char數(shù)據(jù)。而不使用String。
4.String可以在Switch語句中使用嗎?
JDK1.7之后確實(shí)可以了。之前不行。需要程序員對JDK升級的API有適當(dāng)?shù)牧私狻?/p>
5.如何將字符串用空白字符分割開
可以使用正則表達(dá)式來做到分割字符?!癨s”代表空白字符” “, “\t”, “\r”, “\n”等等, String[] strArray = str.split("\\s+");
6.substring()方法到底做了什么?
因?yàn)镾tring是不可變的,所以在字符串截取時(shí),subString做了一些工作。在JDK6時(shí),用一個(gè)字符數(shù)組來表示現(xiàn)存的字符串,然后在這個(gè)字符數(shù)組中截取字符串,截取之后,并沒有創(chuàng)建新的字符數(shù)組。而在JDK7中,截取的新的字符串是一個(gè)新的數(shù)組,這樣效率更快一些。因?yàn)槔厥掌鲿セ厥詹辉偈褂玫淖址?/p>
7.如何將字符串轉(zhuǎn)換成時(shí)間Date?
使用SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse("2017-12-10");