java有關“==”與equal方法的使用與區別
阿新 • • 發佈:2021-09-06
equals方法是java.lang.Object類的方法
有兩種用法說明:
一、對於字串變數來說,使用“==”和“equals()”方法比較字串時,其比較方法不同。
1、“==”比較兩個變數本身的值,即兩個物件在記憶體中的首地址。
(java中,物件的首地址是它在記憶體中存放的起始地址,它後面的地址是用來存放它所包含的各個屬性的地址,所以記憶體中會用多個記憶體塊來存放物件的各個引數,而通過這個首地址就可以找到該物件,進而可以找到該物件的各個屬性)
2、“equals()”比較字串中所包含的內容是否相同。
小細節:
1.
串常量所生成的變數,其中所存放的記憶體地址是相等的。
2.
對於非字串變數來說,"=="和"equals"方法的作用是相同的都是用來比較其,物件在堆記憶體的首地址,即用來比較兩個引用變數是否指向同一個物件。
3.
String類中重新定義了equals這個方法,而且比較的是值,而不是地址。
4.
如果是基本型別比較,那麼只能用==來比較,不能用equals。
5.