CH579 CH573 CH582 Central 例子應用說明二 (讀寫通知的控制說明)
阿新 • • 發佈:2022-03-24
-
-
應用:通常用於判斷兩個引用中實際儲存物件型別是否一致
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student();
s1.age=11;
s1.name="aaa";
s2.age=11;
s2.name="aaa";
//判斷s1和s2是不是同一個型別
Class class1 =s1.getClass();
Class class2 =s2.getClass();
if(class1==class2){
System.out.println("屬於同一型別");
}else{
System.out.println("不屬於同一型別");
}
System.out.println(s1.equals(s2));
}
hashCode()方法
-
返回該物件的雜湊碼值
-
一般情況下相同的物件返回相同的雜湊碼值
//hashcode方法
System.out.println(s1.hashCode());//1324119927
System.out.println(s2.hashCode());//990368553
toString()方法
-
返回該物件的字串表示
-
可以根據程式要求覆蓋該方法,如展示物件各屬性值
equals()方法
-
比較兩物件地址是否相同
-
可進行覆蓋,比較兩物件的內容是否相同
public class Student {
String name;
int age;
public String getName(){
return name;
}
public int getAge(){
return age;
}
public boolean equals(Object obj){
//1.判斷兩物件是否為同一引用
if(this==obj){
return true;
}
//2.判斷obj是否為null
if(obj==null){
return false;
}
//3.判斷是否是同一個型別
/*
if(this.getClass()==obj.getClass()){}
*/
if(obj instanceof Student){//instanceof 判斷物件是否是某種型別
//4.強制型別轉換
Student s = (Student)obj;
if(this.name.equals(s.getName())&&this.age==s.getAge()){
return true;
}
}
return false;
}
}
public class Application {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new Student();
s1.age=11;
s1.name="aaa";
s2.age=11;
s2.name="aaa";
System.out.println(s1.equals(s2));//true
}
}