-7

如果我要将字符串“1”与字符串“7”进行比较,哪个更大。另外,如果我将字符串“1”与字符串“Test”进行比较,哪个更大?

4

1 回答 1

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 范围内的值,所以这就是 last 的值compareToIgnoreCase()如此之低的原因。

于 2012-04-16T01:55:57.270 回答