今天上午寫了一道程序,功能是比較任意兩個字符串的大小。使用compareTo()方法做時,發現如果兩個字符串都是由純數字組成的時候會有錯誤出現。
比如我定義 String s1 = "123";
String s2 = "32";
從理論上來說,123是比32大的,但用compareTo方法得到的結果卻相反。在網上找了一番,終于明白了compareTo方法比較的是兩個字符串的單個字符,也就是比較了"1"和"3"的大小,3大于1,所以就得到了不想得到的結果。
我用了一個判斷來處理這個問題,定義兩個比較方法,如果輸入的兩個字符串是純數字,調用方法1(該方法中不用comparTo)其他情況一律調用方法2(該方法含有compareTo)。
OK,問題解決。
呵,如果看到這篇文章的人還有更好的方法,希望告訴我,先謝了!