compareTo方法返回8136时的含义是什么?

时间:2015-02-20 21:32:59

标签: java compareto

所以有问题的代码是:

int result = stringArray.get(4).compareTo("The");
System.out.println(result);

并打印出来:     8136

我很困惑,因为据我所知,compareTo()会返回0,10或-10。

2 个答案:

答案 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