Java中equals(),equalsIgnoreCase()和“==”的区别

equals() 是判断俩个字符串对象的内容是否相同,是区分大小写的;

equalsIgnoreCase() 与equals()用法一致,不过它是不区分大小写的;

而使用"=="比较的是两个对象在内存中存储的地址是否一样。

例如: String s1 = "abc"; String s2 = new String("abc"); boolean b = (s1 == s2);

则变量 b 的值是 false,

因为 s1 对象对应的地址是"abc"的地址,而 s2 使用 new 关键字申请新的内存,

所以内存地址和 s1 的"abc"的地址不一样,所以获得的值是 false。

public class StringTest {
    public static void main(String[] args){
        String s = new String("Java");
        String m = "java";
        System.out.println("用 equals() 比较,java 和 Java 结果为"+s.equals(m));
        System.out.println("用 equalsIgnoreCase() 比较,java 和 Java 结果为"+s.equalsIgnoreCase(m));
    }
}

输出:

用 equals() 比较,java 和 Java 结果为false
用 equalsIgnoreCase() 比较,java 和 Java 结果为true

 

posted @ 2020-08-21 16:25  玖兰枢_优姬  阅读(307)  评论(0编辑  收藏  举报