C 中「 」和equals 的區別

2022-02-24 06:36:35 字數 596 閱讀 7395

如以下**:12

3456

789intage =25;

short newage =25;

console.writeline(age == newage);//true

console.writeline(newage.equals(age));//false

console.readline();

age==newage返回true,newage.equals(age)卻返回false,為什麼呢?

用==時,編譯器位把short隱式轉換為int後,比較兩者的值。

而用equals()時,newage.equals(age),因為newage是short型別的,equals()方法會是short.equals(short),但int無法隱式轉換為short,所以返回false,但用age.equals(newage)就是正確的

c 中「 」和Equals的區別

一 值型別的比較 對於值型別來說 兩者比較的都是 內容 是否相同,即值 是否一樣,很顯然此時兩者是劃等號的。int i 9 int j 9 console.writeline i j i j true console.writeline i.equals j i.equals j true 二 引用...

C 中 和Equals的區別

和equals比較的內容都是一致的,都是比較內容 equals 比較首位址是否相等 比較值是否相等 利用反編譯工具,檢視string原始碼,可以看到如下 從 中可以看出,string對 也進行了重寫,所以,在string型別 和equals的功能是一致的,也是進行值的比較,所以如下 的 string...

C 中 和equals的區別

不想說太多,直接上 這兩個就沒什麼聯絡,有自己獨立的規則。聯絡在一起其實不利於記憶。下面是測試 console.writeline equals和 的區別 console.writeline 1 對於值型別的資料 console.writeline console.writeline 1.1 型別和...