我是初學者在Java中,可能我問的東西明顯,但無論如何。Java:比較字符串與「 - 」(破折號)
根據java.lang.String中的compareTo()方法的描述:
比較是基於所述字符串的每個字符的Unicode值。
我比較字符串
public void compareString() {
String str1 = "test-2014";
String str2 = "test195519-9022c72bc161";
String str3 = "test200101-ee4d99b1492c";
String str4 = "test212941-884e3f03fe1e";
System.out.println(str1.compareTo(str2));
System.out.println(str1.compareTo(str3));
System.out.println(str1.compareTo(str4));
}
------------ OUTPUT -----------
-4
-5
-5
我期待輸出將在所有三種情況相同,因爲在任何情況下第五字符的Unicode值(1,2,2)比第五更大字符「str1」( - )。
你能解釋一下爲什麼會發生?
認爲
看一看ASCII表格,看看有多少地方與其他角色分開。 – AntonH