zoukankan      html  css  js  c++  java
  • String 字符串的==和eqauls区别

    1.对于基本类型来说,==比较的是数据的值,equals方法也是数据的值;

       对于引用类型来说,==比较的是引用的地址,equals方法比较的是对象的内容。

    2.String是引用类型,用“=”创建字符串时,字符串保存在堆里面的字符串常量池中,而new String()则是保存在堆的另一个空间,所以即使是相同内容的字符串,==结果也不一定为

       true,因为==比较的是地址。

    public class Test3 {
        public static void main(String[] args) {
            String str1="Shane";
            String str2="Shane";
            String str3=new String("Shane");
            System.out.println(str1==str2);//true
            System.out.println(str1==str3);//false
            System.out.println(str2==str3);//false
            System.out.println(str1.equals(str2));//true
            System.out.println(str3.equals(str2));//true
            System.out.println(str1.equals(str3));//true
            System.out.println("Shane".equals(str1));//true
        }
    }

    3.还有一点需要注意的是,我们用equals方法时,如果有常量,我们尽量将常量放在左边,变量放在右边。因为如果变量=null,且变量在.左边,就会报空指针异常。

  • 相关阅读:
    JavaScript事件的几个细节
    CSS选择器从右向左的匹配规则
    JavaScript原型与继承
    CSS3制作ajax loader icon
    jQuery之.on()方法
    Special Resource Operator (SRO)
    openness configure dns server
    add dns items for coredns
    深入理解linux nat
    tcpdump for container
  • 原文地址:https://www.cnblogs.com/iceywu/p/11979381.html
Copyright © 2011-2022 走看看