https://blog.csdn.net/ted_cs/article/details/82712248
String类代表字符串。Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。
字符串是常量,他们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为String对象是不可变的,所以可以共享。
compareTo()
public int compareTo(String anotherString)
按字典顺序比较两个字符串。该比较基于字符串中各个字符的Unicode值。按字典顺序将此String对象表示的字符序列和参数字符串所表示的字符序列进行比较。如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数,如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数,如果这两个字符串相等,则结果为0;compareTo只在方法equals(Object )返回true时才返回为0 。
如果没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这种情况下,compareTo返回两个字符串长度的差。
很多类中都有都有compareTo()方法,根本原因在于他们都实现了接口compareable接口,并且实现了接口中的compareTo()。
与equals()方法的区别
- 如果两个字符串相等,那么compareTo()返回值为0
- equals()方法只能返回true和false,而compare()方法可以返回0,正整数,负整数三种结果。