blogspot.com-GA4

星期二, 3月 16, 2010

java新手犯的錯可讓人啼笑皆非~~String 比對

最近工作接到了某個公司的派遣~~真的遇到了以下的錯誤,
而這在Java語法裡面是有代表著不同的意義。

String的 三種比對 = =、equals、compareTo
1. = = 這種比對方式在其他語言中可以直接用來做字串的比對,
但是在Java中這樣的比對是用來檢查,引用關聯記憶體使用的物件是否相同,
所以當 new 兩個String時,這樣的比對馬上就出問題了

2. equals 這個方法才是Java正確的字串比對方式,而對於物件需要做比對時,也是使用此方式,而數字是用 = =

3. compareTo 這種方式是用來做字串的比對大小時使用的,可不是用來比對是否相等,但是居然還是有看到有人拿來做比對用,雖然是可以,但我個人還是非常不建議這樣子用


這是我目前看到有新手用了 1.3種方法來做比對,
雖然第3種方法可以,但在比對相同情形下還是不建議使用,
另外有Comarator 物件可以用來做比對排序

沒有留言: