Java java.langパッケージのObjectクラス

Objectクラスは、Javaプログラムにおける最上位クラスである。

Objectの主なメソッド

メソッド 説明
Object clone() オブジェクトを複製するために使用するメソッドである。
boolean equals(Object object) 2つのオブジェクトが同じかを比較し、同じならtrue、そうでなければfalseを返す。
void finalize() ガベージコレクション(garbage collection)機能が実行される前に呼び出され、オブジェクトが占有していたリソースを解放するために使用されるメソッドである。
Class getClass() オブジェクトのクラス名をClass型オブジェクトとして返す。
int hashCode() 呼び出したオブジェクトに関連付けられたhashコードを取得する。
String toString() 現在のオブジェクトの文字列表現を返す。
void notify() 待機中のスレッドのうち1つを再開させる。
void notifyAll() 待機中のすべてのスレッドを再開させる。
void wait() 実行を中止して待機状態に入る。
void wait(long timeout) 指定された時間が経過するまで、現在のthreadを待機させる。
void wait(long timeout, int nanos) 他のスレッドがこのオブジェクトに対してnotify()またはnotifyAll()を呼び出すか、他のスレッドが現在のスレッドに割り込みを行うか、指定された実時間が経過するまで現在のスレッドを待機させる。

equals()メソッドは、2つのオブジェクトが持っているデータを比較し、同じならtrue、異なればfalseを返すメソッドである。

toString()メソッドは、オブジェクトが持っている文字列表現を返すために使用する。ほとんどのクラスではtoString()メソッドをオーバーライドし、保持しているオブジェクトの情報を文字列として提供する。

Objectの例

toString()メソッドの再定義

以下の例では、オブジェクトのtoString()メソッドを再定義する。

package com.devkuma.tutorial.java.lang;

public class User {

    private Integer id;
    private String name;
    private String email;

    public User(Integer id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    public String toString() {
        return "id:" + id + ", name=" + name + ", email=" + email;
    }

    public static void main(String[] args) {
        User user = new User(1, "devkuma", "devkuma.com@gmail.com");
        System.out.println(user.toString());
    }
}

実行結果:

id:1, name=devkuma, email=devkuma.com@gmail.com