zoukankan      html  css  js  c++  java
  • 关于 == 和 equals() 的区别

    对于正在学习java的,以及入行不久的小伙伴们,在面试中经常会被面试官问到 "  == 和 equals() 的区别 ?"的问题,你是否回答好了呢?

    示例一:

    //两个基本类型数据比较
    int a = 10;
    int b = 10;
    System.out.println(a == b);

    答案:true

    示例二:

    //两个字符串的比较 
     String x = "hello";
     String y = "hello";
     System.out.println(x == y);
     System.out.println(x.equals(y));

    答案:true

               true

    示例三:

    //两个不同字符串的比较
     String x = "hello";
     String y = "world";
     System.out.println(x == y);
     System.out.println(x.equals(y));

    答案:false

               false

    示例四:

     //两个字符串的比较
      String x = "hello";
      String y = " world";
      String z = new String("hello world");
      System.out.println((x+y) == z);

    答案:false

    示例五:

    //两个字符串的比较
      String x = "hello";
      String y = " world";
      String z = new String("hello world");
      System.out.println(x+y);
      System.out.println(z);
      System.out.println((x+y).equals(z));

    答案:hello world

               hello world

               true

    小结:基本类型数据用 ==比较,对于字符串类型的数据,如果出现new关键字,必然会在堆内存中开屏空间,那么用 == 去比较的两个引用类型数据的地址,显然得出的结果是false,因此如果比较两个字符串的内容是否相等,用的是equals()方法。

  • 相关阅读:
    HDU 1160 dp中的路径问题
    zzuli 1907: 小火山的宝藏收益
    POJ 3414 dfs广搜直接应用
    http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1158&pid=5 二分函数的间接应用
    LightOJ 1067 组合数取模
    九段美到极致的句子
    质数和分解
    codevs 1080 线段树练习
    codevs 2806 红与黑
    codevs 2152 滑雪
  • 原文地址:https://www.cnblogs.com/lu-manman/p/7943697.html
Copyright © 2011-2022 走看看