2012-11-02 73 views
3

比如如果我比较字符串“你好”和“世界”。compareTo()方法如何比较字符串?

它是如何知道你好于世界?

我唯一能想到的是,也许它使用ASCII表作为参考?

感谢您的帮助!

+2

你看过[String API](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html)吗?我敢打赌,那里可以找到很多东西。编辑,是的,我是对的。这里面全是拼出来的,这应该是你首先寻找类似问题的地方 - 在这里问这类问题之前肯定是这样。 –

+0

是不是“你好”比“世界”少? –

+3

详细解释[here](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#compareTo%28java.lang.String%29)。 –

回答

5

它比较了两个字符串命名为。 在这里查询String API

如果两个字符串不同,则要么它们在某个索引是两个字符串有效的索引,或者 它们的长度不同,或者两者都有不同 字符。如果它们在一个或多个索引位置具有不同的 字符,则令k为最小的这样的 索引;那么位置k处的字符具有较小的值的字符串,如通过使用<运算符所确定的,按字母顺序 在另一字符串之前。

2

所有大写被前述小写这样:

"Be".compareTo("ay"); 

将返回一个负值,这意味着“小于”。

+0

以及如果我有超过2个字符串在列表中。比较如何进行?我的意思是指数明智(0,1)(1,2) – piechuckerr

+0

你所包含的代码返回“-31”。 'compareTo'返回两个字符串的非零ASCII差异。 –

+0

@GaurangTandon谢谢。编辑后。 – Mordechai