Java基礎之常用類詳解

Java中有很多常用類,這些是我們必須要掌握的,下面對這些常用類及其常用方法進行總結並保持更新。

包裝類

我們都知道,Java中有一個系統類型由兩部分組成,包含基本類型(primitive),例如int、float、double等,和引用類型(reference type),如String和List。而基本數據類型是不具備對象特徵的,每個基本類型都有一個對應的引用類型,稱作是裝箱基本類型(boxed primitive)包裝類。而基本類與包裝類的關係如下表:

這裏寫圖片描述

包裝類主要提供了兩大類方法:
1. 將本類型和其他基本類型進行轉換的方法
2. 將字符串和本類型及包裝類互相轉換的方法

以Integer爲例(其他包裝類類似)說明這兩種轉換:

Integer的常用方法

而自從JDK1.5以後Java中引入了自動拆箱裝箱的機制,包裝類和基本類型之間的轉換就更加輕鬆便利了。

裝箱:把基本類型轉換成包裝類,使其具有對象的性質,又可分爲手動裝箱和自動裝箱

拆箱:和裝箱相反,把包裝類對象轉換成基本類型的值,又可分爲手動拆箱和自動拆箱

這裏寫圖片描述

這裏寫圖片描述

實際上基本類型和裝箱基本類型之間還有很大的區別的,這些區別容易導致一些麻煩。這些會在以後的博客中詳細解釋。

Date相關類

Date類,位於java.util包中,用於表示特定的瞬間,可以精確到毫秒。在 JDK 1.1 之前,類 Date 有兩個其他的函數。它允許把日期解釋爲年、月、日、小時、分鐘和秒值。它也允許格式化和解析日期字符串。不過,這些函數的 API 不易於實現國際化。從 JDK 1.1 開始,應該使用 Calendar 類實現日期和時間字段之間轉換使用 DateFormat 類來格式化和解析日期字符串Date 中的相應方法已廢棄

使用 Date 類的默認無參構造方法創建出的對象就代表當前時間,但是顯示格式不太友好。所以我們還需要使用java.text包中的SimpleDateFormat類來對日期進行格式化。如可以將日期轉換爲指定格式的文本,也可將文本轉換爲日期

1.使用 format() 方法將日期轉換爲指定格式的文本

        Date date = new Date();
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年mm月dd日 HH小時mm分鐘ss秒");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/mm/dd HH/mm/ss");
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-mm-dd HH-mm-ss");
        String toDay1 = sdf1.format(date);
        String toDay2 = sdf2.format(date);
        String toDay3 = sdf3.format(date);
        System.out.println(toDay1);
        System.out.println(toDay2);
        System.out.println(toDay3);

運行結果
這裏寫圖片描述

關於日期格式的模式字母定義如下:

這裏寫圖片描述

這裏寫圖片描述

2.使用 parse() 方法將文本轉換爲日期。下面通過一個小例子說明。該例子實現了求2015年5月27日是星期幾的功能。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DataDemo {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        try {
            Date date = sdf.parse("2015年5月27日");
            SimpleDateFormat sdf1 = new SimpleDateFormat("E");
            SimpleDateFormat sdf2 = new SimpleDateFormat("w");
            SimpleDateFormat sdf3 = new SimpleDateFormat("W");
            String week1 = sdf1.format(date);
            String week2 = sdf2.format(date);
            String week3 = sdf3.format(date);
            System.out.println("2015年5月27日是:"+week1);
            System.out.println("2015年5月27日是2015年的第"+week2+"個星期");
            System.out.println("2015年5月27日是5月的第"+week3+"個星期");
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

運行結果:
這裏寫圖片描述

3.Calendar 類的應用

由於JDK1.1以後,Date類的一些函數已經不再推薦使用,所以我們應該使用 Calendar類實現日期和時間字段之間轉換。Java.util.Calendar 類是一個抽象類,可以通過調用 getInstance() 靜態方法獲取一個Calendar 對象,此對象已由當前日期時間初始化,即默認代表當前時間,如 Calendar c = Calendar.getInstance();

這裏寫圖片描述

這裏寫圖片描述

Math類

Math 類位於 java.lang 包中,包含用於執行基本數學運算的方法, Math 類的所有方法都是靜態方法,所以使用該類中的方法時,可以直接使用類名.方法名,如: Math.round();

常用方法如下:

這裏寫圖片描述

發佈了35 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章