JAVA中字符串比较equals和equalsIgnoreCase的区别

如题所述

    JAVA中字符串比较equals和equalsIgnoreCase都是用来判断两个字符串是否相等的。不同的是equals判断的字符串是判断两个字符串是否有相同的字符和长度而且区分大小写,equalsIgnoreCase在equals的基础上是不区分大小写的。事例如下:

    

class equalsDemo {
public static void main(String args[]) {
    String s1 = "Hello";
    String s2 = "Hello";
    String s3 = "Good-bye";
    String s4 = "HELLO";
    System.out.println(s1 + " equals " + s2 + " -> " +
    s1.equals(s2));
    System.out.println(s1 + " equals " + s3 + " -> " +
    s1.equals(s3));
    System.out.println(s1 + " equals " + s4 + " -> " +
    s1.equals(s4));
    System.out.println(s1 + " equalsIgnoreCase " + s4 + " -> " +
    s1.equalsIgnoreCase(s4));
    }
}

上面的代码s1和s2是有相同的字符所以s1.equals(s2)返回为true。

s1和s3是没有相同的字符,所以s1.equals(s3)返回为false。

s1和s4是有相同的字符,但是大小写不同所以s1.equals(s4)返回为false。而若是使用了equalsIgnoreCase则说明了该比较不区分大小写,所以s1.equalsIgnoreCase(s4)
为true。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-16
1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:
boolean equals(Object str)

这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。

2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法。当比较两个字符串时,它会认为A-Z和a-z是一样的。其一般形式如下:

boolean equalsIgnoreCase(String str)

这里,str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它也返回true,否则返回false。

下面的例子说明了equals( )和equalsIgnoreCase( )方法:

class equalsDemo {
public static void main(String args[]) {
String s1 = "Hello";
String s2 = "Hello";
String s3 = "Good-bye";
String s4 = "HELLO";
System.out.println(s1 + " equals " + s2 + " -> " +
s1.equals(s2));
System.out.println(s1 + " equals " + s3 + " -> " +
s1.equals(s3));
System.out.println(s1 + " equals " + s4 + " -> " +
s1.equals(s4));
System.out.println(s1 + " equalsIgnoreCase " + s4 + " -> " +
s1.equalsIgnoreCase(s4));
}
}

该程序的输出如下所示:

Hello equals Hello -> true
Hello equals Good-bye -> false
Hello equals HELLO -> false
Hello equalsIgnoreCase HELLO -> true本回答被网友采纳