我是初学者在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