Java常用類

curry库-04049發表於2024-08-10

目錄
  • String類
  • 日期時間類
  • 數學類
  • 包裝類
  • Runtime類
    • 1.獲取執行時環境資訊
    • 2.Runtime類的例項化和使用
    • 3.執行系統命令
  • System類
    • 1. 標準輸入輸出和錯誤輸出
    • 2. 系統屬性
    • 3. 時間和日期
    • 4. 陣列操作
    • 5. 其他重要方法

String類

  • 字串常量池
  • 常見方法
    • charAt(int index):返回字串指定位置的字元
    • indexOf(String s):返回指定字串第一次出現的位置
    • startsWith(String s):測試字串是否以指定字首開始
    • endsWith(String s):測試字串是否以指定字尾開始
    • subString(int index):返回字串的子字串
    • replace(char a,char b):替換字串的指定字元
    • trim():去掉字串的前後空格
    • concat():連線兩個字串
    • split(String regex):給定正規表示式的匹配來拆分字串
  • 正規表示式
    • 字元萬用字元
    • 次數萬用字元
    • 其他萬用字元
  • StringBuffer和StringBuilder

日期時間類

  • Date類

    Date表示特定的瞬間,精確到毫秒。Date類中的大部分方法都已經被Calendar類中的方法所取代

  • SimpleDateFormat類

  • Calendar類:Calenda在Java 8及以後的版本中通常被 java.time 包中的類所取代

數學類

  • math類

包裝類

  • 什麼是包裝類

    包裝類主要用於將Java中的八種基本資料型別(boolean、char、byte、short、int、long、float、double)封裝為物件形式,以便在需要物件特性的場合中使用。這些包裝類均位於java.lang包中,是Java類庫的一部分。

  • 包裝類的特點

    1. 封裝基本資料型別:Java是物件導向的程式語言,但基本資料型別並不直接支援物件的特性(如繼承、多型等)。包裝類透過將基本資料型別封裝為物件,使得這些基本資料型別可以參與物件的操作。
    2. 提供額外功能:包裝類不僅包含了對應基本資料型別的值,還提供了一系列實用的物件操作方法,如型別轉換、進位制轉換、比較大小、獲取最大值和最小值等。
    3. 支援集合操作:Java的集合(如List、Set、Map等)只能儲存物件,不能直接儲存基本資料型別。透過使用包裝類,可以將基本資料型別轉換為物件,從而儲存在集合中。
    4. 快取機制:對於Integer類(以及可能的其他包裝類),Java虛擬機器(JVM)會快取一定數量的常用值(如-128到127之間的整數),以避免頻繁地建立和銷燬物件,提高效能。
  • 基本資料型別與包裝類

    基本資料型別 包裝類

    byte Byte

    boolean Boolean

    short Short

    char Character

    int Integer

    long Long

    float Float

    double Double

  • 包裝類共同點

    自動裝箱/拆箱 封裝基本資料型別 自動拆裝箱

    8種包裝類提供不用型別間的轉換方式
    Number父類中提供的6個共性方法

    parseXXX( )靜態方法

    valueOf( )靜態方法
    注意:需保證型別相容,否則丟擲NumberFormatException異常

Runtime類

  • 1.獲取執行時環境資訊

  • 可以透過Runtime類的例項獲取當前JVM的處理器個數、空閒記憶體量、最大可用記憶體量和記憶體總量的資訊。

  • 示例程式碼:

    Runtime rt = Runtime.getRuntime();  
    System.out.println("處理器的個數: " + rt.availableProcessors() + "個");  
    System.out.println("空閒記憶體數量: " + rt.freeMemory() / 1024 / 1024 + "M");  
    System.out.println("最大可用記憶體數量: " + rt.maxMemory() / 1024 / 1024 + "M");  
    System.out.println("虛擬機器中記憶體總量: " + rt.totalMemory() / 1024 / 1024 + "M");
    
  • 2.Runtime類的例項化和使用

例項化:由於Runtime類是單例的,程式中一般不能顯式地主動例項化一個Runtime例項,而是透過Runtime.getRuntime()來獲取當前程式的Runtime例項。

使用:獲取到Runtime例項後,就可以呼叫其提供的方法來獲取執行時環境資訊、執行系統命令、呼叫垃圾回收等。

  • 3.執行系統命令

Runtime類提供了一個exec(String command)方法,用於執行指定的系統命令或指令碼。該方法返回一個Process物件,透過該物件可以獲取程序的標準輸出流、錯誤輸出流等,以進行進一步的處理。

  • 示例程式碼:

    java複製程式碼
    
    Process process = Runtime.getRuntime().exec("notepad.exe");
    

System類

System類是Java中的一個非常重要的類,它位於java.lang包中,代表當前Java程式的執行平臺,提供了許多與系統相關的屬性和方法。由於System類的構造方法是private的,因此無法建立System類的物件,即無法例項化該類。不過,System類提供了許多靜態的類變數和類方法,允許直接透過System類來呼叫這些變數和方法。

以下是System類的一些主要特點和功能:

1. 標準輸入輸出和錯誤輸出

  • 標準輸入流(in)public final static InputStream in,代表標準輸入流,通常是鍵盤輸入。
  • 標準輸出流(out)public final static PrintStream out,代表標準輸出流,通常是顯示器輸出。
  • 標準錯誤輸出流(err)public final static PrintStream err,代表標準錯誤輸出流,同樣是輸出到顯示器,但通常用於輸出錯誤資訊。

2. 系統屬性

  • 獲取系統屬性Properties getProperties()方法返回當前系統的所有屬性。
  • 獲取指定鍵的系統屬性String getProperty(String key)方法根據鍵名獲取對應的屬性值。
  • 設定系統屬性String setProperty(String key, String value)方法允許設定指定鍵的系統屬性,但需要注意的是,並非所有系統屬性都可以被設定。

3. 時間和日期

  • currentTimeMillis():返回當前時間與GMT時間(格林尼治時間)1970年1月1日0時0分0秒之間的毫秒差值。這個方法常用於測量程式執行時間等場景。

4. 陣列操作

  • arraycopy():這是一個用於陣列複製的方法,其原型為public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)。它可以將指定源陣列中的元素複製到目標陣列的指定位置,是系統級的操作,效能較高。

5. 其他重要方法

  • exit(int status):用於退出當前執行的Java虛擬機器。當引數status為0時表示正常退出,非0值表示異常退出。
  • gc():請求JVM執行垃圾回收。但是否立即執行垃圾回收取決於JVM的垃圾回收演算法和當前系統的執行狀況。

System類提供的這些功能使得Java程式能夠與執行環境進行互動,實現輸入輸出、系統屬性訪問、時間測量、陣列操作以及程式退出等功能。由於這些功能都是靜態的,因此可以透過System類直接呼叫,無需建立物件。

相關文章