1. 程式人生 > >Java基礎----Object類和常用API

Java基礎----Object類和常用API

第一章 Object類

1.1 概述

java.lang.Object類是Java語言中的根類,即所有類的父類。它中描述的所有方法子類都可以使用。在物件例項化的時候,最終找的父類就是Object。 如果一個類沒有特別指定父類, 那麼預設則繼承自Object類。例如:

public class MyClass /*extends Object*/ {
  	// ...
}

根據JDK原始碼及Object類的API文件,Object類當中包含的方法有11個。今天我們主要學習其中的2個:

  • public String toString():返回該物件的字串表示。
  • public boolean equals(Object obj)
    :指示其他某個物件是否與此物件“相等”。

1.2 toString方法

方法摘要

  • public String toString():返回該物件的字串表示。

toString方法返回該物件的字串表示,其實該字串內容就是物件的型別[email protected]+記憶體地址值。

由於toString方法返回的結果是記憶體地址,而在開發中,經常需要按照物件的屬性得到相應的字串表現形式,因此也需要重寫它。

覆蓋重寫

如果不希望使用toString方法的預設行為,則可以對它進行覆蓋重寫。例如自定義的Person類:

import java.util.Objects;

public class
Person { // 屬性 private String name; private int age; // 構造方法 public Person(String name, int age) { this.name = name; this.age = age; } public Person() { } // setter & getter public String getName() { return name; } public void
setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }

toString() 方法重寫 :

// 重寫 Object 類的 toString() 方法.
    // 說明 : 幾乎開發中, 每一個類都需要重寫 Object 類的 toString() 方法. 因為每一個類都擁有自己的特有資料.
    @Override
    public String toString() {
        return "Person {name = "+name+", age = "+age+"}";
    }

    // 小結 : toString() 方法的作用 : 自定義物件的輸出資訊.
    /*@Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }*/

在IntelliJ IDEA中,可以點選Code選單中的Generate...,也可以使用快捷鍵alt+insert,點選toString()選項。選擇需要包含的成員變數並確定。如下圖所示:

小貼士: 在我們直接使用輸出語句輸出物件名的時候,其實通過該物件呼叫了其toString()方法。

1.3 equals方法

方法摘要

  • public boolean equals(Object obj):指示其他某個物件是否與此物件“相等”。

呼叫成員方法equals並指定引數為另一個物件,則可以判斷這兩個物件是否是相同的。這裡的“相同”有預設和自定義兩種方式。

預設地址比較

如果沒有覆蓋重寫equals方法,那麼Object類中預設進行==運算子的物件地址比較,只要不是同一個物件,結果必然為false。

物件內容比較

如果希望進行物件的內容比較,即所有或指定的部分成員變數相同就判定兩個物件相同,則可以覆蓋重寫equals方法。例如:

    // 重寫 equals 方法
    // 目的 : 自定以兩個物件的比較規則. 每一個物件都會擁有自己的比較規則. 因為每一個類都應該重寫 Object 類的 equals 方法.
    @Override
    public boolean equals(Object obj) {

        // 1. 先比較一下物件的記憶體地址
        if (this == obj) {
            return true;
        }

        // 2. 比較姓名和年齡
        // 條件一 : obj 傳入引數不能為 null.
        // 條件二 : 兩個物件的型別必須一致.  this 目前是 Person 類, 要求 obj 物件必須是 Person 類, 否則直接返回 false
        if (obj == null || this.getClass() != obj.getClass()) {
            return false;
        }

        // 3. 如果 obj 是 Person 型別, 比較兩個物件的 `年齡和姓名`
        // 3.1 將 obj 物件向下轉型
        Person p = (Person) obj;
        // 3.2 比較兩個物件的姓名和年齡
        // 說明 : String 類重寫了 Object 類的 equals 方法, 實現了根據字元內容來進行比較. 而不是字串的地址.
        // boolean result = this.age == p.age && this.name.equals(p.name);

        // 說明 : this.name.equals(p.name); 該方法可以優化.  JDK 7 之後, 出現了 Objects 工具類.
        // Objects 工具類提供一個 equals 方法, 可以使用
        // return (this.age == p.age) && (this.name == p.name && this.name != null && this.name.equals(p.name));
        return this.age == p.age && Objects.equals(this.name, p.name);
    }

/*
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age &&
                Objects.equals(name, person.name);
    }*/

這段程式碼充分考慮了物件為空、型別一致等問題,但方法內容並不唯一。大多數IDE都可以自動生成equals方法的程式碼內容。在IntelliJ IDEA中,可以使用Code選單中的Generate…選項,也可以使用快捷鍵alt+insert,並選擇equals() and hashCode()進行自動程式碼生成。如下圖所示: 重寫equals方法

tips:Object類當中的hashCode等其他方法,今後學習。

1.4 Object類

在剛才IDEA自動重寫equals程式碼中,使用到了java.util.Objects類,那麼這個類是什麼呢?

JDK7添加了一個Objects工具類,它提供了一些方法來操作物件,它由一些靜態的實用方法組成,這些方法是null-save(空指標安全的)或null-tolerant(容忍空指標的),用於計算物件的hashcode、返回物件的字串表示形式、比較兩個物件。

在比較兩個物件的時候,Object的equals方法容易丟擲空指標異常,而Objects類中的equals方法就優化了這個問題。方法如下:

  • public static boolean equals(Object a, Object b):判斷兩個物件是否相等。

我們可以檢視一下原始碼,學習一下:

public static boolean equals(Object a, Object b) {  
    return (a == b) || (a != null && a.equals(b));  
}

測試類程式碼

public class Test {
    public static void main(String[] args) {

        // 1. 建立一個 Person 物件
        Person p1 = new Person("張三", 18);
        Person p2 = new Person("張三", 18);

        // 2. 輸出物件, 檢視資訊 (物件的屬性資訊).
        // p1 = cn.itcast.object.Person `包名+類名` @ 58ceff1 (記憶體地址)
        // Java 語言 : 列印列印, 預設就是呼叫該物件的 toString() 方法.
        // 請問1 : toString() 是誰定義的方法 ??? 是 Object 類定義的.
        // Person 類預設繼承 Object 類, 因此, Person 類擁有 toString() 方法.
        // 請問2 : Object 父類實現的 toString() 方法, 不是 Person 類想要的結果. Person 類可以選擇重寫該方法.
        // 請問3 : 子類重寫父類的方法, 程式執行時, 呼叫的是子類重寫的方法.
        System.out.println("p1 = " + p1.toString());   // variable 變數
        System.out.println("p2 = " + p2);

        // 需求 : 比較兩個物件是否相等.
        // 方式一 : == 符號
        boolean result1 = p1 == p2;     // 比較的是兩個物件的記憶體地址, 而不是比較兩個物件的屬性資訊
        System.out.println("result1 = " + result1);     // false

        System.out.println("------------------");

        // 請問1 : Object 類的 equals 不是 Person 類想要的, 怎麼辦 ??? Person 類重寫該方法.
        boolean result2 = p1.equals(p2);
        System.out.println("result2 = " + result2);     // true
    }
}

輸出結果 :
p1 = Person {name = 張三, age = 18}
p2 = Person {name = 張三, age = 18}
result1 = false
------------------
result2 = true

第二章 日期時間類

2.1 Date類

概述

java.util.Date類 表示特定的瞬間,精確到毫秒。

繼續查閱Date類的描述,發現Date擁有多個建構函式,只是部分已經過時,但是其中有未過時的建構函式可以把毫秒值轉成日期物件。

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

tips: 由於我們處於東八區,所以我們的基準時間為1970年1月1日8時0分0秒。

簡單來說:使用無參構造,可以自動設定當前系統時間的毫秒時刻;指定long型別的構造引數,可以自定義毫秒時刻。例如:

import java.util.Date;

public class Demo01Date {
    public static void main(String[] args) {
        // 建立日期物件,把當前的時間
        System.out.println(new Date()); // Tue Jan 16 14:37:35 CST 2018
        // 建立日期物件,把當前的毫秒值轉成日期物件
        System.out.println(new Date(0L)); // Thu Jan 01 08:00:00 CST 1970
    }
}

tips:在使用println方法時,會自動呼叫Date類中的toString方法。Date類對Object類中的toString方法進行了覆蓋重寫,所以結果為指定格式的字串。

常用方法

Date類中的多數方法已經過時,常用的方法有:

  • public long getTime() 把日期物件轉換成對應的時間毫秒值。

2.2 DateFormat類

java.text.DateFormat 是日期/時間格式化子類的抽象類,我們通過這個類可以幫我們完成日期和文字之間的轉換,也就是可以在Date物件與String物件之間進行來回轉換。

  • 格式化:按照指定的格式,從Date物件轉換為String物件。
  • 解析:按照指定的格式,從String物件轉換為Date物件。

構造方法

由於DateFormat為抽象類,不能直接使用,所以需要常用的子類java.text.SimpleDateFormat。這個類需要一個模式(格式)來指定格式化或解析的標準。構造方法為:

  • public SimpleDateFormat(String pattern):用給定的模式和預設語言環境的日期格式符號構造SimpleDateFormat。

引數pattern是一個字串,代表日期時間的自定義格式。

格式規則

常用的格式規則為:

標識字母(區分大小寫) 含義
y
M
d
H
m
s

備註:更詳細的格式規則,可以參考SimpleDateFormat類的API文件。

建立SimpleDateFormat物件的程式碼如:

import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class Demo02SimpleDateFormat {
    public static void main(String[] args) {
        // 對應的日期格式如:2018-01-16 15:06:38
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    }    
}

常用方法

DateFormat類的常用方法有:

  • public String format(Date date):將Date物件格式化為字串。
  • public Date parse(String source):將字串解析為Date物件。

format方法

使用format方法的程式碼為:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
 把Date物件轉換成String
*/
public class Demo03DateFormatMethod {
    public static void main(String[] args) {
        Date date = new Date();
        // 建立日期格式化物件,在獲取格式化物件時可以指定風格
        DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
        String str = df.format(date);
        System.out.println(str); // 2008年1月23日
    }
}

parse方法

使用parse方法的程式碼為:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
 把String轉換成Date物件
*/
public class Demo04DateFormatMethod {
    public static void main(String[] args) throws ParseException {
        DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
        String str = "2018年12月11日";
        Date date = df.parse(str);
        System.out.println(date); // Tue Dec 11 00:00:00 CST 2018
    }
}

2.3 練習

請使用日期時間相關的API,計算出一個人已經出生了多少天。

思路:

1.獲取當前時間對應的毫秒值

2.獲取自己出生日期對應的毫秒值

3.兩個時間相減(當前時間– 出生日期)

程式碼實現:

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

public class Test4 {
    public static void main(String[] args) throws ParseException {

        // 1. 建立一個鍵盤錄入物件
        Scanner sc = new Scanner(System.in);
        // 2. 提示, 並接收使用者的輸入
        System.out.println("親, 請輸入您的出生年月日 : 格式(yyyy-MM-dd)");
        String birthday = sc.nextLine();
        // 3. 關閉鍵盤錄入物件
        sc.close();

        // 4. 將接收的日期字串轉換為一個日期物件
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date birthdayDate = df.parse(birthday);

        // 5. 獲取當前日期
        Date date = new Date();

        // 6. 計算兩個日期的相差毫秒數
        long time = date.getTime() - birthdayDate.getTime();

        // 7. 判斷
        if (time < 0) {
            System.out.println("親, 您還沒有出生呢.");
        } else {
            long day = time / 1000 / 60 / 60 / 24;
            System.out.println("從出生到此時, 共生活了 " + day + " 天.");
        }
    }
}

輸出結果 :, 請輸入您的出生年月日 : 格式(yyyy-MM-dd)
2008-8-8
從出生到此時, 共生活了 3609.

2.4 Calendar類

概念

日曆我們都見過

java.util.Calendar是日曆類,在Date後出現,替換掉了許多Date的方法。該類將所有可能用到的時間資訊封裝為靜態成員變數,方便獲取。日曆類就是方便獲取各個時間屬性的。

獲取方式

Calendar為抽象類,由於語言敏感性,Calendar類在建立物件時並非直接建立,而是通過靜態方法建立,返回子類物件,如下:

Calendar靜態方法

  • public static Calendar getInstance():使用預設時區和語言環境獲得一個日曆

例如:

import java.util.Calendar;

public class Demo06CalendarInit {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
    }    
}

常用方法

根據Calendar類的API文件,常用方法有:

  • public int get(int field):返回給定日曆欄位的值。
  • public void set(int field, int value):將給定的日曆欄位設定為給定值。
  • public abstract void add(int field, int amount):根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量。
  • public Date getTime():返回一個表示此Calendar時間值(從曆元到現在的毫秒偏移量)的Date物件。

Calendar類中提供很多成員常量,代表給定的日曆欄位:

欄位值 含義
YEAR
MONTH 月(從0開始,可以+1使用)
DAY_OF_MONTH 月中的天(幾號)
HOUR 時(12小時制)
HOUR_OF_DAY 時(24小時制)
MINUTE
SECOND
DAY_OF_WEEK 週中的天(周幾,週日為1,可以-1使用)

get/set方法

get方法用來獲取指定欄位的值,set方法用來設定指定欄位的值,程式碼使用演示:

import java.util.Calendar;

public class Test5 {
    public static void main(String[] args) {
        
        // 建立一個 Calendar 物件
        Calendar calendar = Calendar.getInstance();
        
        // get 獲取方法 :
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        System.out.println(year + "年" + month + "月" + day + "日.");

        // set 設定方法 :
        calendar.set(Calendar.YEAR, 2020);
        
        year = calendar.get(Calendar.YEAR);
        month = calendar.get(Calendar.MONTH) + 1;
        day = calendar.get(Calendar.DAY_OF_MONTH);

        System.out.println(year + "年" + month + "月" + day + "日.");
    }
}

輸出結果 :
2018626.
2020626.

add方法

add方法可以對指定日曆欄位的值進行加減操作,如果第二個引數為正數則加上偏移量,如果為負數則減去偏移量。程式碼如:

public class Test6 {
    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();

        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        System.out.println(year + "年" + month + "月" + day + "日.");

        // add 方法演示 :
        // 1. 加兩天
        calendar.add(Calendar.DAY_OF_MONTH, 2);
        // 2. 減三年
        calendar.add(Calendar.YEAR, -3);

        year = calendar.get(Calendar.YEAR);
        month = calendar.get(Calendar.MONTH) + 1;
        day = calendar.get(Calendar.DAY_OF_MONTH);

        System.out.println(year + "年" + month + "月" + day + "日.");
    }
}

輸出結果 :
2018626.
2015628.

getTime方法

Calendar中的getTime方法並不是獲取毫秒時刻,而是拿到對應的Date物件。

import java.util.Calendar;
import java.util.Date;

public class Test7 {
    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();

        // getTime() 方法, 返回一個 Date 物件
        Date date = calendar.getTime();
        System.out.println("date = " + date);
    }
}

輸出結果 :
date = Tue Jun 26 01:00:58 CST 2018

小貼士:

 西方星期的開始為週日,中國為週一。

 在Calendar類中,月份的表示是以0-11代表1-12月。

 日期是有大小關係的,時間靠後,時間越大。

第三章 System類

java.lang.System類中提供了大量的靜態方法,可以獲取與系統相關的資訊或系統級操作,在System類的API文件中,常用的方法有:

  • public static long currentTimeMillis():返回以毫秒為單位的當前時間。
  • public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):將陣列中指定的資料拷貝到另一個數組中。

3.1 currentTimeMillis方法

實際上,currentTimeMillis方法就是 獲取當前系統時間與1970年01月01日00:00點之間的毫秒差值

import java.util.Date;

public class SystemDemo {
    public static void main(String[] args) {
       	//獲取當前時間毫秒值
        System.out.println(System.currentTimeMillis()); // 1516090531144
    }
}

練習 :

驗證for迴圈1-1000000000所需要使用的時間(毫秒)

public class Test8 {
    public static void main(String[] args) {
        // 1. 記錄開始時間毫秒
        long start = System.currentTimeMillis();
        
        // 2. 執行迴圈操作
        long sum = 0;
        for (int i = 0; i < 1000000000; i++) {
            sum += i;
        }
        
        // 3. 記錄結束時間毫秒
        long end = System.currentTimeMillis();
        
        // 4. 檢視結果
        System.out.println("共耗時 : " + (end - start) + " 毫秒.");
    }
}

輸出結果 :
共耗時 : 281 毫秒.

3.2 arraycopy方法

  • public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):將陣列中指定的資料拷貝到另一個數組中。

陣列的拷貝動作是系統級的,效能很高。System.arraycopy方法具有5個引數,含義分別為:

引數序號 引數名稱 引數型別 引數含義
1 src Object 源陣列
2 srcPos int 源陣列索引起始位置
3 dest Object 目標陣列
4 destPos int 目標陣列索引起始位置
5 length int 複製元素個數

練習

將src陣列中前3個元素,複製到dest陣列的前3個位置上覆制元素前:src陣列元素[1,2,3,4,5],dest陣列元素[6,7,8,9,10]複製元素後:src陣列元素[1,2,3,4,5],dest陣列元素[1,2,3,9,10]

import java.util.Arrays;

public class ArrayCopyTest3 
            
           

相關推薦

Java基礎----Object常用API

第一章 Object類 1.1 概述 java.lang.Object類是Java語言中的根類,即所有類的父類。它中描述的所有方法子類都可以使用。在物件例項化的時候,最終找的父類就是Object。 如果一個類沒有特別指定父類, 那麼預設則繼承自Object類。

Object 常用API

tab clone 大小寫 system.in 區分大小寫 als nano else ystemd 復習一下基本類的主要內容 Object類Date類DateFormat類Calendar類System類StringBuilder類包裝類 1.1Object類 Java.

JAVA基礎——ObjectClass

什麼是Object類 Object類是所有類根類,其中也有很多方法。 Object類中的方法: equals方法: 物件1.equals(物件2) ————比較的是兩個物件的記憶體地址是否相同,返回boolean 發現其實equals方法有時候並不是我們想要的,我們想要的

Java基礎——Object的三個常用方法

內容整理自《Java 核心技術 卷一》 Object類的簡介 java.lang.Object java.lang包在使用的時候無需顯示匯入,編譯的時候由編譯器自動匯入 Object類是

java基礎篇---------物件(OOP)

JAVA 的是完全面向物件程式設計的!!! 面向物件程式設計的三大特性:封裝、繼承、多型 1.類 類是構造物件的模板或者藍圖,由類構造物件的過程就是建立類的例項; 類裡面存放類的成員變數,成員方法, class student { private int age; //

Java基礎【04】常用API——String相關API

1.int length() package string; /** * int length() * 該方法可以返回當前字串的長度(字元個數) * @author adminitartor * */ public class LengthDemo { publ

Java基礎【05】常用API——Integer相關API

1.Integer Integer.valueOf(int i); package integer; /** * java有8個基本型別,但是它們不具備面向物件的特性,所以 * 不能直接參與面向物件開發,那麼在實際使用上會出現很多的 * 不便,為此java為8個基本型

Java基礎【08】常用API——RandomAccessFile相關API

java.io.RandomAccessFile:專門用來讀寫檔案資料的類,其讀寫是基於指標進行的,即RAF總是在指標指向位置讀取或者寫出位元組。 RAF有兩種常用的模式:  * r:只讀模式,只能讀取檔案資料,不可以做寫操作。  * rw:讀寫模式,即可讀也可寫。 1.寫

Java 011 Object常用方法(hashCode、toString、getClass、equals)

知識點梳理 心得體會 小知識點 1.若呼叫toString()輸出的不是地址值,則toString()一定被重寫了 2.instanceof是一個二元操作符(運算子),用來判斷,instanceof 左邊物件是否為instanceof 右邊類的例項,返回一個b

Java基礎-----抽象介面的區別

成員區別 (1)抽象類: 1、成員變數:可以是變數,也可以是常量。 2、構造方法:有。 3、成員方法:可以抽象,也可以非抽象。 (2)介面: 1、成員變數:只可以是常量。 2、成員方法:只可以抽象,也可以非抽象。 設計理念區別 (1)抽

java基礎-列舉註解

一、列舉類1.如何自定義列舉類。 列舉類:類的物件是有限個的,確定的。   1.1 私有化類的構造器,保證不能在類的外部建立其物件    1.2 在類的內部建立列舉類的例項。宣告為:public static final    1.3 若類有屬性,那麼屬性宣告為:private final 。此屬性在構造器中

C++ socket程式設計基礎一(概念常用API)

SOCKET一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些API函式就能實現分佈在不同主機的相關程序之間的資料交換. ·SOCKET幾個定義概念 一、是IP地址: IP Address我想很容易理解,就是依照TCP/IP協議分配給本地主機的網路地址,就向兩個程序要通

多態、Object JDK常用封裝

事物 引用 null static 包裝 變化 end number demo 多態 定義:某一類事物的多種存在形態。 多態的體現:父類的引用指向了自己的子類對象。父類的引用也可以接收自己的子類對象。 多態的前提:必須是類與類之間有關系,要麽繼承,要麽實現。通常還有一個前提

java基礎-Integer常用方法介紹

-i java基礎 font ger 版權 spa 責任 創作 bsp                   java基礎-Integer類常用方法介紹                                   作者:尹正傑 版權聲明:原創作品,謝絕轉載!否則將追究

Java基礎-----String常用方法

String類的判斷功能 1、boolean equals(Object obj):比較字串的內容是否相同,區分大小寫。 2、boolean equalsIgnoreCase(String str):比較字串的內容是否相同,忽略大小寫。 3、boolean contains(

Java基礎知識回顧之常用資料型別的包裝

Java基礎知識回顧之常用資料型別 Java基礎知識回顧之常用資料型別的包裝類 簡介 Java 雖然是一門面向物件的程式語言,但是其包括的8種基本資料型別並不支援面向物件的程式設計機制。也就說基本資料型別不具備“物件”的特性。例如:沒有屬性、沒有方法可以呼叫。 為了解決8個基

Java面試系列總結 :JavaSE基礎(2) 常用 API

1. Math.round(11.5)等於多少?Math.round(- 11.5) 又等於多少? Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。 四捨五入的原理是在引數上加 0.5然後進行取整。 2.

javaObject理解介面的定義

一、Object類簡單理解 我們剛開始接觸到java時,最常做的是如何使用class關鍵字定義一個類,在這其中就應用到了繼承的原理,因為所有的類都直接或者間接繼承了java.lang.Object類。Object類是一個很特殊的類,它是所有類的父類,是java類層中的最高層類。當建立一個類時,總

Java基礎——基本型別包裝、基本型別字串之間的轉換

基本型別和包裝類之間的轉換 基本型別和包裝類之間經常需要互相轉換,以 Integer 為例(其他幾個包裝類的操作雷同哦): 在 JDK1.5 引入自動裝箱和拆箱的機制後,包裝類和基本型別之間的轉換就更加輕鬆便利了。 那什麼是裝箱和拆箱呢?我們分別來看下 裝箱:把基本型別轉換成包裝類,使其具有物件的

JavaObject的方法(toString方法equals方法)

Object是所有類的父類(國外成為超類superclass),Object類的方法是相當少的(理解為教室人越多,他們的共同點越少)。 一:toString方法 Object的toString()方法幫助我們返回一個字串,這個字串的格式是固定的:類名@hashcode。