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,且变量在.左边,就会报空指针异常。

  • 相关阅读:
    SpringMVC---RequestMapping注解类的使用方法
    SpringMVC---简单登录例子
    SpringMVC---简介
    MyBatis---动态SQL
    Hive基本操作
    hive初识
    scala编码规范
    Spark2.x 与 Spark1.x 关系
    spark idea项目打jar包的两种方式
    SparkStreaming 对Window的reduce的方法解析(转载)
  • 原文地址:https://www.cnblogs.com/iceywu/p/11979381.html
Copyright © 2011-2022 走看看