深入分析 和equals的區別

2021-09-27 09:16:24 字數 815 閱讀 2695

==和equals是非常常見的面試題。

共同點:都可以做比較,返回值都是boolean

區別:1.==是比較運算子,即可以比較的基本資料型別,也可以比較引用資料型別。

基本資料型別比較的是值,引用資料型別比較的是記憶體位址值

2.equals方法只能比較的是引用資料型別,equals方法在沒有重寫是比較的是位址值,

底層依賴的是==號,但是比較位址值沒有意義,我們需要重寫equals方法比較物件中的屬性值

equals方法底層原始碼:

public boolean equals(object obj)

public class test 

}

student類

public class student 

public student(string name, int age)

//以下為get/set方法

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

@override

public string tostring()

//重寫的equals方法,也可以自動生成 alt+shift+s 在加上v

@override

public boolean equals(object obj)

}

」 「和 equals 的區別分析

public class equaltest 執行結果為 t1 t2 false t1 t2 t3 true t3 t4 true i1.equals i2 false i3.equals i1 i2 true i3.equals i4 true st1 st2 false st1 st2 st3 ...

malloc和new的深入分析

1.malloc 函式 1.1 malloc的全稱是memory allocation,中文叫動態記憶體分配。原型 extern void malloc unsigned int num bytes 說明 分配長度為num bytes位元組的記憶體塊。如果分配成功則返回指向被分配記憶體的指標,分配失...

IsPostBack深入分析

1 ispostback 介紹 ispostback是 page類有乙個 bool型別的屬性,用來判斷針對當前 form的請求是第一次還是非第一次請求。當 ispostback true時表示非第一次請求,我們稱為 postback,當 ispostback false時表示第一次請求。在 asp....