2012-04-16 73 views
-7

如果我比較字符串「1」和字符串「7」哪一個更大。另外,如果我比較字符串「1」和字符串「測試」哪一個會更大?比較字符串是「1」<「seven」

+9

你試過了嗎? – geekosaur 2012-04-16 01:53:51

+1

你忘了有*咖啡*今天? – Lion 2012-04-16 01:57:11

+0

'<', '>','> ='和'<='僅適用於原始類型 – Jeffrey 2012-04-16 01:57:27

回答

2

Java中字符串的比較是逐個字符地完成的。根據每個字符在Unicode字符表中出現的位置,每個字符都有一個特定的排名(對於這種情況,我們可以使用ASCII,因爲它是英語)。

「1」將被視爲小於「7」以及「T」。

要調用(這個地方的main()內:

System.out.println("1".compareTo("7")); 
System.out.println("1".compareTo("Test")); 
System.out.println("1".compareToIgnoreCase("7")); 
System.out.println("1".compareToIgnoreCase("Test")); 

你會得到負的運算結果 - 這些都是從我們所比較的字符的ASCII點方面的距離compareToIgnoreCase()比較值小寫ASCII範圍內,所以這就是爲什麼最後compareToIgnoreCase()的價值是如此之低。

+0

謝謝,這是我很好奇的。 – Slowbro 2012-04-16 02:00:10