int 型別比較: 結果和數值無關
int m =
128;
int n =
128;
system.out.
println
(m == n)
;// true
int i =
10000
;long l =
10000l;
system.out.
println
(i == l)
;// true
integer 型別比較: 結果和數值有關(常量池-128~127 true), 其它的指向堆記憶體, 返回false
integer i =
128;
integer j =
128;
system.out.
println
(i == j)
;// false 堆記憶體指向不一致
public
static integer valueof
(int i)
private
static
class
integercache
catch
( numberformatexception nfe)
} high = h;
cache =
newinteger
[(high - low)+1
];int j = low;
for(
int k =
0; k < cache.length; k++
) cache[k]
=new
integer
(j++);
// range [-128, 127] must be interned (jls7 5.1.7)
assert integercache.high >=
127;
}private
integercache()
}
int 和 integer 比較, 結果和數值無關, 估計 integer 自動拆箱轉為 int 再比較
integer i =
128;
int m =
128;
system.out.
println
(i == m)
;// true
a. integer/long 用 equals 比較, false
b. integer == long, 編譯不通過
c. integer/long 轉為基本資料型別, 可以比較
integer i =
128;
long l =
1l; system.out.
println
(i.equals
(l))
;// false
// public boolean equals(object obj)
// return false;
// }
// system.out.println(i == l);
system.out.
println((
int)i == l)
;// true
system.out.
println
(i ==
(long
)l);
// true
system.out.
println((
int) i ==
(long
) l)
;// true
// condition '(int) i == (long) l' is always 'true'
// casting 'l' to 'long' is redundant
漢字問題 比較
不知是那個大俠的東東,不錯啊 public class letter public static int pare string str1,string str2 catch exception e result chinese pareto m s1,m s2 return result publ...
中文比較問題
u16 mmi sms char towupper u16 wchar else if wchar 0x0103 wchar 0x01a1 wchar 0x01b0 wchar 0x0188 wchar 0x018c wchar 0x0192 wchar 0x01ac wchar 0x01b9 wc...
陣列比較問題
問題描述 比較兩個陣列,要求從陣列最後乙個元素開始逐個元素向前比較,如果2個陣列長度不等,則只比較較短長度陣列個數元素。請程式設計實現上述比較,並返回比較中發現的不相等元素的個數 比如 陣列和陣列按題述要求比較,不相等元素個數為0 陣列和陣列按題述要求比較,不相等元素個數為3 include std...