java怎么判断类相同_java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用“===”是什么意思...
導航:網站首頁 >
java中如何判定兩個對象屬于同一類 兩個對象是不是類的相同實例,即用“===”是什么意思
java中如何判定兩個對象屬于同一類 兩個對象是不是類的相同實例,即用“===”是什么意思
相關問題:
匿名網友:
首先,針對你的提問回答你的問題:可用instanceof判斷一個對象是否屬于某一類,兩個對象的情況如obj1與obj2,可用System.out.println((obj1 instanceof Student) && (obj2 instanceof Student));判斷,如果為true即是同屬一類。
但我猜你可能想問的是如果判斷兩個對象是否相等,下面提供一個例子讓你參考:
一:
class Student {
String name;
Student(String name) {
this.name = name;
}
}
public class Test {
public static void main(String[] args) {
Object o1 = new Student("lili");
Object o2 = new Student("lili");
System.out.println(o1 == o2);
System.out.println(o1.equals(o2));
}
}
輸出結果是:
false
false
o1 == o2 這樣比較的是對象的引用,但這里明顯不是同一對象,所以為false
o1.eqauls(o2)是比較的是對象的內容,但這依賴于equals()方法,這里沒有實現equals()方法,也就是一個類,如果沒有實現equals()方法,除了同一對象外,都不會有相等的機會
第二個例子:我們在這里實現equals方法,假設姓名相等則是同一學生
class Student {
String name;
Student(String name) {
this.name = name;
}
@Override//從Object類繼承而來
public boolean equals(Object obj) {
Student otherObj = (Student)obj;
if(obj == this) { // 如果是同一個對象,則相等
return true;
}
if(otherObj.name.equals(this.name)) { //如果姓名相等,則相等
return true;
}
return false; //否則,不是上面兩種情況則不相等.
}
}
public class Test {
public static void main(String[] args) {
Object o1 = new Student("lili");
Object o2 = new Student("lili");
System.out.println(o1 == o2);
System.out.println(o1.equals(o2));
}
}
輸出結果
false
true
也就是說,這兩個對象是相等的,而規則是由我們在equals方法里定義。
小結:==是判斷兩個對象是否是同一對象,而equals()則判斷兩個對象的內容是否相等,但條件是類必須已經實現了從Object繼承而來的equals()方法。
匿名網友:
1.java中如何判定兩個對象屬于同一類
問:比如,將Student 的兩個對象,賦值給兩個Object的引用,那么如何判定這...
2.兩個對象是不是類的相同實例,即用“===”是什么意思
答:==用于比較基本數據類型時,如果兩個值相同,則結果為true 而在比較引用時,如果引用指向內存中的同一對象,結果為true 順帶講講equals 方法,equals 方法被用來檢測兩個對象是否相等,即兩個對象的內容是否相等。
3.java中怎樣比較兩個對象是否為同一個對象
答:一.跟對象比較的幾個相關的概念。 為了更加審核的理解對象比較的含義以及多個比較方法之間的差異,筆者認為讀者首先需要了解幾個相關的概念,或者說幾對關系。 1.是類與對象的關系。類是具體的抽象,而對象是類的具體實現。這可能聽起來還是有點...
4.什么是類,什么是對象,類和對象之間的關系
答:類的概念 : 類是具有相同屬性和服務的一組對象的集合。為屬于該類的所有對象提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。在面向對象的編程語言中,類是一個獨立的程序單位,應該有一個類名并包括屬性說明和服務說明兩個主要部分...
5.如何判斷兩個對象是否屬于同一個類 如何判斷一個對...
答:var obj=$(#標簽ID); if($(obj).length>0) { //存在 } else { //不存在 }
6.JAVA如何判斷兩個類之間是否滿足繼承關系?
答:Class中有個方法 public native boolean isAssignableFrom(Class cls)用來判斷子類是否繼承于父類的或者父接口的。 你會這樣子寫: Class clazz = ....; clazz.isAssignableFrom(子類名稱);返回true說明是掛號里的類的父類或父接口。 clazz.isA...
7.Java 中有沒有直接可以判斷兩個類是否相同的方法?
答:java沒有直接判斷兩個雷是否相同,但提供了如下方法: 1、如果說兩個對象的判斷可以使用 equals,或者 ==。2、如果判斷對象是否某個類 可以使用 instanceof ,isInstance3、如果兩個類的比較 可以使用 isAssignableFrom,但只能得到是否是自身或...
8.java 判斷兩個類是否相同
問:public static Object replace(Object str){ if(str ? Timestamp){//如...
9.java同時new兩個類的對象,是不是其實只有一個對象...
問:java同時new兩個類的對象,是不是其實只有一個對象和兩個引用?Animal a...
10.java 對象,同時擁有兩個類的屬性,怎么定義?
問:小白提問 他們繼承一個共同的父類 類A有屬性 ab,類B有屬性ac 怎么創建...
問題推薦
總結
以上是生活随笔為你收集整理的java怎么判断类相同_java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用“===”是什么意思...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Decimal范围_Java
- 下一篇: join orcl的left_oracl