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