「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; } }
実行結果
値1: 東京
値2: 東京
インスタンスstuAとインスタンスstuBは同じです