zoukankan      html  css  js  c++  java
  • java中==和equals的区别

    package com.demo02;

    public class TestObject {

    /**
    * @param args
    */
    /*
    * 1、object类是根类,里面定义的==和equals的作用相同,都是比较引用地址
    * 2、而String不可变类重写了里面的equals方法。
    * 此时的==是比较引用地址,equals是比较内容
    * 3、String类中有何String池(Pool),对于可以共享的字符串对象,会出现在池中查找
    * 是否存在相同的String内容(字符串相同),如果有就直接返回,而不是直接创建一个新的
    * String对象,减少内存的耗用
    *
    *
    * */


    public static void main(String[] args) {
    // TODO Auto-generated method stub
    TestObject t1 = new TestObject();
    TestObject t2 = new TestObject();
    System.out.println(t1==t2);//false
    System.out.println(t1.equals(t2));//false

    String s1 = new String("abc");
    String s2 = new String("abc");
    System.out.println(s1==s2);//false
    System.out.println(s1.equals(s2));//true
    String s3 = "hello";
    String s4 = "hello";
    System.out.println(s3==s4);//true
    System.out.println(s3.equals(s4));//true

    }

    }

  • 相关阅读:
    thinkphp--标签库
    thinkphp中的参数绑定
    thinkphp3.2.3子查询中遇到的错误
    开篇马克
    BST树、B-树、B+树、B*树
    linux shell编程之变量和bash配置文件(第一篇)
    linux awk进阶篇
    linux awk(gawk)
    linux sed命令
    linux basic
  • 原文地址:https://www.cnblogs.com/nn369/p/7380791.html
Copyright © 2011-2022 走看看