一、八種基本數(shù)據(jù)類(lèi)型,大小以及他們的封裝類(lèi)型
| 基本類(lèi)型 | 大小(字節(jié)) | 默認(rèn)值 | 封裝類(lèi)型 |
|---|---|---|---|
| byte | 1 | (byte)0 | Byte |
| short | 2 | (short)0 | Short |
| int | 4 | 0 | Integer |
| long | 8 | 0L | Long |
| float | 4 | 0.0f | Float |
| double | 8 | 0.0d | Double |
| boolean | - | false | Boolean |
| char | 2 | \u0000(null) | Character |
二、String相關(guān)面試題
1、String、StringBuffer和StringBuilder的區(qū)別是什么?
String只是字符串,并不是基本數(shù)據(jù)類(lèi)型,而是一個(gè)對(duì)象。從底層源碼看是一個(gè)final修飾的字符數(shù)組,索引用的字符串不能被改變,已經(jīng)定義則無(wú)法增刪改。
StringBuffer和StringBuilder都繼承了AbstractStringBuilder抽象類(lèi)
char[] value;
底層都是可變字符串?dāng)?shù)組,所以在進(jìn)行頻繁的字符串操作時(shí)建議使用StringBuffer和StringBuilder來(lái)進(jìn)行操作。
2、StringBuilder和StringBuffer的區(qū)別
StringBuffer對(duì)方法加了同步鎖synchronized,所以是線程安全的,StringBuilder并沒(méi)有對(duì)方法加同步鎖,所以是非線程安全的。單線程時(shí)使用StringBuilder替換StringBuffer因?yàn)楦臁?br>
常用的方法有:append和insert