所以有问题的代码是:
int result = stringArray.get(4).compareTo("The");
System.out.println(result);
并打印出来: 8136
我很困惑,因为据我所知,compareTo()
会返回0,10或-10。
答案 0 :(得分:7)
Comparable.compareTo(o)
的一般合同是,如果this
大于另一个对象,则返回正整数。
无论是1还是8136,重要的是它是一个正整数,你的代码应该只依赖于它。
答案 1 :(得分:0)
int result = "Thf".compareTo("The");
System.out.println(result);
result = "Thg".compareTo("The");
结果
1
2
所以stringArray.get(4)和""之间必须存在8136的ascii差异。首先具有积极意味着>第二
您使用的语言包是否包含超过8000个不同的字符?
可能是差异化的哈希码
int z11="\\vs".hashCode();
int z22="The".hashCode();
System.out.println(z11-z22);
给出8136