"==" 与 equals()的 区别

来源:互联网 发布:国际淘宝网官方网站 编辑:程序博客网 时间:2024/05/19 01:06
        String n = "woshiwoshi";
        String n1 = "woshiwoshi";
        
        System.out.println("n.equals(n1)  is  "+n.equals(n1));
        System.out.println("n==n1  is  "+(n==n1));

        System.out.println();



        String n2 = new String("hash");
        String n3 = new String("hash");
        System.out.println("n2.equals(n3)  is  "+n2.equals(n3));

        System.out.println("n2==n3  is  "+(n2==n3));



输出结果:

                    n.equals(n1)  is  true
                    n==n1  is  true

                   n2.equals(n3)  is  true

                   n2==n3  is  false


结论:

                     1.    == 与equals()一样, 都可以用来比较基本数据类型的数值,eg: int  double  short   byte   char  Long  float Boolean   引用数据类型 Sting(直接赋值的情况下 eg: String s="woshishi") 。            

                     2.   都可以用来比较对象,它们比较的是地址值,若对象里面的值相等但是地址值不同则为  false 。 

                     3.    在String对象中   equals()很特殊,它重写了String的equals()方法,比较的是数值,但是==仍然是比较的String对象的地址值。   

0 0
原创粉丝点击