java學習之路——第十七天
一、StringBuffer和StringBuilder類
因為String類建立物件後值不能發生改變,只要改變就會頻繁的建立新的物件,導致資源消耗大,程式執行效率低。這個時候使用StringBuffer和StringBuilder就可以解決這個問題。
StringBuffer和StringBuilder
StringBuffer: 執行緒安全的可變字元序列。
StringBuilder: 執行緒不安全的可變字元序列。
執行緒安全:超市購物付錢和菜市場購物付錢,針對商家超市是安全的,菜市場的商家是不安全的。執行緒安全就是排隊,不安全就是亂,一起上。
常用的方法:
1.append():在原字串末尾追加字串
2.insert():在指定位置插入線管的字串內容
二、包裝類
(將基本資料型別轉為引用資料型別)
包裝類注意事項:1、包裝類建立的物件的值不能發生改變
2、所有的包裝類都會用final修飾
記憶:除了int和char之外的6中基本資料型別對應的包裝類都是直接將首字母改為大寫
byte --àByte
short àShort
long àLong
floatàFloat
double àDouble
boolean àBoolean
int àInteger
char àCharacter
包裝類中常用的方法:
XXValue():返回指定型別的資料
valueOf():將基本資料型別封裝為引用資料型別
parseXX();將String型別資料轉為對應的基本資料型別
String型別和基本資料型別之間可以進行互換:
由基本資料型別到String型別我們稱之為格式化;String類提供的valueOf()
由String型別到基本資料型別我們稱之為解析。 基本資料型別對應引用資料型別提供的parseXX()
包裝類中的拆箱和裝箱操作:
裝箱:將基本資料型別轉為引用資料型別
拆箱:將引用資料型別轉為基本資料型別
備註:在JDK5.0之後能夠實現自動拆裝箱操作(得益於編譯器中的預處理機制),之前都是手動的拆裝箱。
三、日期類 Date
千年蟲
位置:java.util.date
表示特定的時間,精確到毫秒。
Date類中的日期表現形式:
年:y
月:M 從0開始表示,也就是0表示1月
日:d
時:h(12小時制) H(24小時制)從0開始
分:m 從0開始
秒:s 從0開始
Date類由於千年蟲問題,導致很多方法都已經過時,處理時間我們後面用Calendar抽象類來操作時間。Date類只用了幾個方法
常用的兩個方法:
getTime(): 返回自 1970 年 1 月 1 日 00:00:00到當前系統的毫秒數。
setTime(): 設定從1970年1月1日00:00:00開始新增的時間節點。
四、日期格式化 DateFormat
SimpleDateFormat來專門處理日期格式化的類。它允許進行格式化(日期 -> 文字)、解析(文字 -> 日期)和規範化。
格式化:format(); 將日期轉為指定的文字
解析:parse(); 將文字格式日期轉為日期
中國的時間顯示方式為: 年 月 日 時 分 秒 2018年11月13日 15:54:50
年:yyyy
月:MM
日:dd
時:hh
分:mm
秒:ss
日期格式:yyyy-MM-dd hh:mm:ss
五、日曆類 Calendar類
該類為一個抽象類,沒有直接實現類,要獲取當前系統時間,該類本身提供了一個getInstance方法獲取。該類主要是操作時間欄位。
Calendar c = Calendar.getInstance();
筆試題:month= 1 day=35 問具體的時間為多少?
常用方法:
1.add(int field, int amount)
根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量
field:日曆欄位
amount:為欄位新增的日期或時間量。如果是正的則新增,負的則減去
2.get(): 返回給定日曆欄位的值。