举例:

 

 

1.对于引用类型来说,==进行的是地址值的比较。

2.双引号直接写的字符串在常量池当中,new的不在池当中。

 

 

 

字符串的比较相关方法:

==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:

public booLean equals(0bject obj),参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则返回false

注意事项:

任何对象都能用object进行接收。

equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。

如果比较双方一个常量一个变量,推荐把常量字符串写在前面。

推荐:"abc".equals(str)不推荐:str.equals( "abc"")

public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较。

举例:

 String s1 = "Hello";
        String s2 = "Hello";

        char[] charArray ={'H','e','l','l','o'};
        String s3 = new String(charArray);

        System.out.println(s1.equals(s2));
        System.out.println(s2.equals(s3));
        System.out.println(s3.equals(s1));

        String st4 = "Hello";
        System.out.println(s1.equals(st4));
        System.out.println("+++++++++++++++++++++++");

        String s5 = null;
        System.out.println("abc".equals(s5));
        System.out.println("=======================");

        String sA = "Java";
        String sB = "Java";
        System.out.println(sA.equals(sB));
        System.out.println(sA.equalsIgnoreCase(sB));

        System.out.println("abc——123".equalsIgnoreCase("abc壹123"));

 

posted on 2022-06-30 11:47  淤泥不染  阅读(81)  评论(0编辑  收藏  举报