如果我要将字符串“1”与字符串“7”进行比较,其中一个字符串会更大。另外,如果我将字符串“1”与字符串“Test”进行比较哪一个更大?
答案 0 :(得分: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()
的值如此之低的原因。