強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

今日分享開始啦,請大家多多指教~

今天給大家分享的是是Java 常用工具,話不多說,正文開始啦!

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

一、時間類 Date

1、java。util。Calendar(日曆類)

Calendar類是一個抽象基類,主要用於日期之間的各種計算

2、java。util。Date

java。util。Date日期格式為:年月日時分秒

java。sql。Date日期格式為:年月日

java。sql。Time日期格式為:時分秒

java。sql。Timestamp日期格式為:年月日時分秒納秒(毫微秒)

建構函式

(1)public Date()

分配 Date 物件並初始化此物件,以表示分配它系統的時間(精確到毫秒)。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(2)public Date(long date)

分配 Date 物件並初始化此物件,以表示自從標準基準時間(稱為“曆元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(3)public Date(int year, int month, int date)

分配 Date 物件並初始化此物件,以表示由 year、month 和 date 引數指定的一天的開始時間(本地時間晚上 12 時)。

注:Date 類中年份的引數應該是實際需要代表的年份減去1900,月份的引數是實際需要代表的月份減去1以後的值,日的引數應該是實際需要代表的日。如107代表2007,是減去1900得到的數;0代表1月,1代表2月,這裡月份是0-11的數字,依此類推;1表示天數,數字範圍1-31。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(4)public Date(int year, int month, int date, int h, int min, int sec)

分配 Date 物件並初始化此物件,以表示本地時區中由 year、month、date、h、 min 和 sec 引數指定的瞬間。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(5)public Date(String s)

分配 Date 物件並初始化此物件,以表示字串 s 指出的日期和時間。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

3、java。text。DateFormat

它允許進行日期格式化(日期 -> 文字)、分析(文字 -> 日期)和規範化。

它的子類 SimpleDateFormat 類是一個格式化Date 以及解析日期字串的工具,可以實現 String 到 Date,Date 到String的 互轉。

(1)Date—> String(format方法)

format方法:將日期型別(java。util。Date)資料格式化為字串(java。lang。String)

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(2)String—> Date(parse方法)

parse方法:將字串型別(java。lang。String)解析為日期型別(java。util。Date)

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

二、System 類

System 類代表系統,系統級的很多屬性和控制方法都放置在該類的內部。該類位於java。lang包。

由於該類的構造方法是private的,所以無法建立該類的物件,也就是無法例項化該類。其內部的成員方法和成員變數都是static(靜態)的,所以也可以很方便地呼叫它。

1、成員變數

(1)in

代表標準輸入流(鍵盤輸入)

//標準輸入流

public final static InputStream in;

(2)out

代表標準標準輸出流(顯示器)

//標準輸出流

public final static PrintStream out;

(3)err

代表標準錯誤輸出流(顯示器)

//標準錯誤流

public final static PrintStream err;

2、成員方法

(1)getProperty()

獲取系統屬性。常用的有:

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(2) getenv(String name)

該方法用來根據環境變數的名字獲取環境變數。

(3)gc()

java垃圾回收器,這個方法不需要我們去呼叫,jvm發現系統有未使用的物件,會自己進行執行。通常會有兩種情況下會呼叫gc:當jvm記憶體不足時會呼叫;當cpu空閒的時候呼叫。

(4)exit(int status)

退出虛擬機器。exit(int)方法是終止當前正在執行的java虛擬機器,引數是狀態碼。

①該方法用於退出jvm,如果引數是0表示正常退出jvm,非0表示異常退出jvm。

②退出jvm後,後面的程式碼就不會執行。無論傳0還是傳1,Jvm都會退出。

③注意:0或者非0的資料都可以退出Jvm,對於使用者而言沒有任何區別,對於windows是有作用的,因為如果傳非0對於windows而言是異常終止的,如果是正版的作業系統,對於異常退出的軟體,需要把這些異常退出的軟體資訊做成報告發送給微軟,微軟就可以針對這些問題對系統做出一些修改。

④我們程式設計師的程式設計習慣是:如果在try塊中退出Jvm,try塊裡面是沒有異常的程式碼,所以try塊中要傳0,如果是在catch塊裡面退出Jvm,我們習慣於用非0退出。

三、Number 類

資料的基本資料型別有byte、int、short、long、double、float、boolean、char 等8種。但在實際的開發當中,我們有時候會遇到需要使用數字物件,而不是資料型別的情況。為解決這個問題,java為每一種資料型別,提供了相對應的類,即包裝類,對應的包裝型別也有八種:Byte、Integer、Short、Long、Double、Float、Boolean、Character。

包裝型別都是用final宣告,不可以被繼承重寫。

當資料型別需要被當做物件使用時,編譯器會將資料型別轉換為對應的包裝類,這個過程被稱為裝箱;而當包裝類物件被當做資料型別使用時,編譯器會將包裝類轉換為對應的資料型別,這個過程被稱為拆箱。

Number類是java。lang包下的一個抽象類,提供了將包裝型別拆箱成基本型別的方法,所有基本資料型別(除 boolean 和 char)的包裝型別都繼承了該抽象類,並且是final宣告不可繼承改變。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

Number 的常用方法

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

四、格式化

Format 是一個用於格式化語言環境敏感的資訊(如日期、訊息和數字)的抽象基類。Format 定義了程式設計介面,用於將語言環境敏感的物件格式化為 String(使用 format 方法)和將 String 重新解析為物件(使用 parseObject 方法)。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

Java 平臺為格式化日期、訊息和數字分別提供了三個特殊的 Format 的子類:DateFormat、MessageFormat 和 NumberFormat。具體的子類必須實現三個方法:

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

1、DateFormat

DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化並解析日期或時間。 SimpleDateFormat 是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化(日期 -> 文字)、解析(文字 -> 日期)和規範化。

(1)日期和時間模式

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(2)同步

日期格式是不同步的。建議為每個執行緒建立獨立的格式例項。如果多個執行緒同時訪問一個格式,則它必須是外部同步的。

2、NumberFormat

NumberFormat 是所有數值格式的抽象基類。此類提供格式化和解析數值的介面。NumberFormat 還提供了一些方法來確定哪些語言環境具有數值格式,以及它們的名稱是什麼。

(1)DecimalFormat

DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進位制數字。該類設計有各種功能,使其能夠解析和格式化任意語言環境中的數,包括對西方語言、阿拉伯語和印度語數字的支援。它還支援不同型別的數,包括整數 (123)、定點數 (123。4)、科學記數法表示的數 (1。23E4)、百分數 (12%) 和金額 ($123)。所有這些內容都可以本地化。

① 特殊模式字元

模式中的很多字元都是按字面解釋的;在解析期間對其進行匹配,在格式化期間則不經改變地輸出。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

② 舍入

DecimalFormat 提供 RoundingMode 中定義的舍入模式進行格式化。預設情況下,它使用 RoundingMode。HALF_EVEN。

③ 同步

DecimalFormat 通常不是同步的。建議為每個執行緒建立獨立的格式例項。如果多個執行緒同時訪問某個格式,則必須保持外部同步。

示例

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

(2)ChoiceFormat

ChoiceFormat 允許將格式應用到某個範圍的數。它通常用於在 MessageFormat 中處理複數。

Choice 格式不是同步的。建議為每個執行緒建立單獨的格式例項。如果多個執行緒併發訪問一個格式,則它必須保持外部同步。

3、MessageFormat

MessageFormat 提供了以與語言無關的方式生成連線訊息的方式。使用此方法構造向終端使用者顯示的訊息。

MessageFormat 獲取一組物件,格式化這些物件,然後將格式化後的字串插入到模式中的適當位置。

示例:

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

輸出:The disk “MyDisk” contains 1,273 file(s)。

注意:訊息格式不是同步的。建議為每個執行緒建立獨立的格式例項。如果多個執行緒同時訪問一個格式,則它必須是外部同步的。

五、隨機數類

1、Random 類

Random 的物件能夠產生隨機數,他可以產生隨機整數、隨機float、隨機double,隨機long。

強推!阿里p7大佬整理的這幾款高效Java工具,網友:再也不加班了

2、Math 類的 random() 方法

Math 類的 random() 方法返回的數值是[0。0,1。0)的 double 型數值,可以對其進行運算和型別轉換獲得需要的隨機數。

獲得某個範圍的特定型別的隨機數:( 資料型別 )( 最小值 + Math。random() * ( 最大值 - 最小值 + 1 ) )

int a = (int)(30 + Math。random() * 71) // 生成[30,100]的隨機整數

小結

以上是目前整理的一部分內容,如果有遺漏的歡迎大家補充!

今日份分享已結束,請大家多多包涵和指點!

相關文章