今天學了常用類
比如包裝類,他就是把八大基礎類型封裝到一個類中,并且提供方法和屬性,這樣會更方便快捷來操作基本數(shù)據(jù)類型,不過包裝類的出現(xiàn)并不是取代基本數(shù)據(jù)類型,也沒有那個能力。
Object是老大
Boolean和Number和Character是老二
而Number又分別有(Byte)(short)(integer)(long)(float)(double)
Number是他們的父類,提供把包裝類轉化成基本數(shù)據(jù)類型的方法,比如(xxxxValue)
2.int和Integer和String之間可以相互轉換
3.Comparable是一個接口,他的作用是比較大小并且強行對每個類的對象進行自然排序
例子:Comparable 定義了a.compareTo(b),返回值表示
a.compareTo(b) 返回值? 排序
? a < b ? ? ? ? 負整數(shù) ? ? ? ? 升序
? a = b? ? 0 ? ? ? ? 相等
? a > b ? ? ? ? 正整數(shù)? 降序
4.還學了自動裝箱和自動拆箱,有一點要注意,就是JDK1.5才出現(xiàn)的,并且不要頻繁使用自動拆裝箱
自動裝箱(auto-boxing)
把基本數(shù)據(jù)類型自動轉化成對象的包裝類的過程稱為自動裝箱
自動拆箱(auto-unboxing)
把包裝類自動轉化成對于的基本數(shù)據(jù)類型的過程稱為自動拆箱
5.String
String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的對象。
字符串本質上是一個字符數(shù)組,它們的值在創(chuàng)建之后不能更改,所以字符串是常量;
并且因為String的對象是不可變的,所以可以共享
6.CharSequence 接口把字符串看出一個可讀序列,提供了charAt(index)獲取指定索引處的字符;
length() 字符數(shù)組或者字符串的長度。
7.格式化字符串(浮點的意思其實就是小數(shù)點)
注意:系統(tǒng)會默認的字符集是(GBK)
%d 格式化整形
%f 格式化浮點型
%.nf 格式化浮點型四舍五入保留n為小數(shù),
%c 格式化字符
%s 格式化字符串
8. Stringbuffer的意義
StringBuffer是字符的可變?nèi)萜鳌?梢栽诔绦蜻\行過程中向容器中添加、刪除、修改字符。
StringBuffer 本質上是一個字符數(shù)組的包裝類,并提供了很多方法向這個字符數(shù)組中添加、刪除、修改字符。
并且Stringbuffer是線程安全的
Stringbuffer的默認字符數(shù)組的長度是16,如果你要超過16,那也行,他會自動增加容量給你,可是他擴容的規(guī)則是:當前容量*2+2的,所以有時候可能會浪費很多空間,但是如果未來不再向這個數(shù)組中添加字符,那可以通過trimtosize來優(yōu)化他,比如給你的空間是34,你只用了17,他就會把多余的給清除,但是切記,是未來確定不再添加字符才進行的操作,不然到時候又要重新申請空間,久的空間又丟了
StringBuffer與StringBuilder區(qū)別(面試題經(jīng)常有)
StringBuffer 是線程安全的,執(zhí)行效率低,JDK1.0出現(xiàn)? (多線程)
StringBuiler 就是為了緩解執(zhí)行效率低而產(chǎn)生的,但線程不安全。JDK 1.5出現(xiàn) (單線程)