java中常用的字符串比较方法: equals() 方法、 compareTo() 方法
compareTo() 方法
字符比较(character comparison)是指按照字典次序对单个字符或字符串进行比较大小的操作,一般都是以ASCII码值的大小作为字符比较的标准。
str.compareTo(String otherstr);
它会按字典顺序将 str 表示的字符序列与 otherstr 参数表示的字符序列进行比较。如果按字典顺序 str 位于 otherster 参数之前,比较结果为一个负整数;如果 str 位于 otherstr 之后,比较结果为一个正整数;如果两个字符串相等,则结果为 0。
str = A
str1 = a
str.compareTo(str1)的结果是:-32
str1.compareTo(str)的结果是:32
str1.compareTo('a')的结果是:0
equals() 方法
语法格式:str1.equals(str2);
equals()方法依次比较两个字符串是否相同。如果两个字符串具有相同的字符和长度,它返回 true,否则返回 false。对于字符的大小写,也在检查的范围之内。
str1 和 str2 可以是字符串变量, 也可以是字符串字面量。
列如:"Hello".equals("world")
equals()与==的比较
equals() 方法比较字符串对象中的字符。
==运算符比较两个对象引用看它们是否引用相同的实例。
String s1 = "java";
String s2 = new String(s1);
System.out.println(s1.equals(s2)); // 输出true
System.out.println(s1 == s2); // 输出false
变量 s1 指向由“java”创建的字符串实例。s2 所指的的对象是以 s1 作为初始化而创建的。s1,s2两个字符串对象的内容是一样的。但它们是不同的对象,这就意味着 s1 和 s2 没有指向同一的对象,因此它们是不==的。