「Java17」Objectクラスのequalsメソッドを使うサンプル
環境
JavaSE-17
Spring Tool Suite 4
書式
クラス名 インスタンス名1= new クラス名(xxx);
クラス名 インスタンス名2= new クラス名(xxx);
if(インスタンス名1.equals(インスタンス名2)){処理コード}
使用例
package com.arkgame.study;
public class ObjectEqualDemo {
public static void main(String[] args) {
// stuAインスタンス生成
Student stuA = new Student("東京");
// stuBインスタンス生成
Student stuB = new Student("東京");
System.out.println("値1: " + stuA.addr);
System.out.println("値2: " + stuB.addr);
// インスタンス判定
if (stuA.equals(stuB)) {
System.out.println("インスタンスstuAとインスタンスstuBは同じです");
} else {
System.out.println("インスタンスstuAとインスタンスstuBは不一致です");
}
}
}
//クラスの定義
class Student {
String addr;
// コンストラクタ
Student(String addr) {
this.addr = addr;
}
// equalsの定義
public boolean equals(Object obj) {
if (obj == this)
return true;
// インスタンスであるか判定
if (obj instanceof Student) {
Student st = (Student) obj;
// Stringクラスのequalsメソッドで文字列の値が等しいか判定
if (this.addr.equals(st.addr)) {
return true;
}
return false;
}
return false;
}
}
package com.arkgame.study;
public class ObjectEqualDemo {
public static void main(String[] args) {
// stuAインスタンス生成
Student stuA = new Student("東京");
// stuBインスタンス生成
Student stuB = new Student("東京");
System.out.println("値1: " + stuA.addr);
System.out.println("値2: " + stuB.addr);
// インスタンス判定
if (stuA.equals(stuB)) {
System.out.println("インスタンスstuAとインスタンスstuBは同じです");
} else {
System.out.println("インスタンスstuAとインスタンスstuBは不一致です");
}
}
}
//クラスの定義
class Student {
String addr;
// コンストラクタ
Student(String addr) {
this.addr = addr;
}
// equalsの定義
public boolean equals(Object obj) {
if (obj == this)
return true;
// インスタンスであるか判定
if (obj instanceof Student) {
Student st = (Student) obj;
// Stringクラスのequalsメソッドで文字列の値が等しいか判定
if (this.addr.equals(st.addr)) {
return true;
}
return false;
}
return false;
}
}
package com.arkgame.study; public class ObjectEqualDemo { public static void main(String[] args) { // stuAインスタンス生成 Student stuA = new Student("東京"); // stuBインスタンス生成 Student stuB = new Student("東京"); System.out.println("値1: " + stuA.addr); System.out.println("値2: " + stuB.addr); // インスタンス判定 if (stuA.equals(stuB)) { System.out.println("インスタンスstuAとインスタンスstuBは同じです"); } else { System.out.println("インスタンスstuAとインスタンスstuBは不一致です"); } } } //クラスの定義 class Student { String addr; // コンストラクタ Student(String addr) { this.addr = addr; } // equalsの定義 public boolean equals(Object obj) { if (obj == this) return true; // インスタンスであるか判定 if (obj instanceof Student) { Student st = (Student) obj; // Stringクラスのequalsメソッドで文字列の値が等しいか判定 if (this.addr.equals(st.addr)) { return true; } return false; } return false; } }
実行結果
値1: 東京
値2: 東京
インスタンスstuAとインスタンスstuBは同じです