和equels的區別

2021-07-30 12:22:50 字數 568 閱讀 8928

首先明確個概念:

1. "=="是基本運算子,判斷引用是否指向堆記憶體的同一塊位址;

2. "equals()"是乙個方法,object類中同樣是判斷引用是否指向堆記憶體的同一塊位址,但是string,integer之類的類都重寫了equals()方法,使其比較的是物件的值而不是位址;(基本型別中沒有這個方法)

例如:

int a = 1;int b = 1;

a==b:true;

因為基本型別它們在編譯期就被確定了值,所以相同的值位址也相同,此處返回true;

string a = new string("c");

string b = new string("c");

a==b 返回的為false;

a.equals(b) 返回true;

因為這裡a、b為字串物件,他們的值不能再編譯的時候就確認,所以擁有自己的位址;

string a = "c"; string b="c";

a==b 返回值為true;

這裡和上面為什麼不同呢?因為這裡string定義為字串常量,而它們在編譯期就被確定了所以如此;

mysql的 和 的區別 和 的區別

他們之間的區別用最直接的話來說就是 相當於對資料 加上 雙引號,相當於直接顯示資料。1 對傳入的引數視為字串,也就是它會預編譯select from user where name 比如我傳乙個csdn,那麼傳過來就是select from user where name csdn 2 將不會將傳入...

a和 a的區別

這道題目是我在面試的時候碰到的。當時面試官問我的時候,由於我什麼基礎都比較差,我聽到這個問題的時候整個人都傻了。我心想當時學c語言的時候,我只記得老師說這個都代表a陣列的首位址啊,這有什麼區別呢?這道題目,我最終沒有答出來,都怪我太菜了。今天這篇文章就當做是乙個記錄吧,也希望能給還不q清楚的同學一點...

and和or的區別

題目 求結果 a.1 or 2 b.1 and 2 c.1 2 2 d.1 2 2 結果 a 1 b 2 c 0 d 1 總結and和or的用法 and 從左到右,返回第乙個為假的表示式值,無假值則返回最後乙個表示式值。or 從左到右,返回第乙個為真的表示式值,無真值則返回最後乙個表示式值。備註 感...