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

    这个java基础一直记不清楚,这次总结下,与大家共勉。

    先上结论:

    1、equals方法比较两个对象的内容

    2、==比较两个对象是否是同一对象,或者说对象在内存中的首地址是否相同

    测试代码:

    /**
     * equals 和 == 的区别
     *
     * @author FlyFive(pengfei.dongpf@gmail.com)
     * created on 2013-1-5
     */
    public class EqualsTest {
        public static void main(String[] args) {
            String s01 = new String("hello world");
            String s02 = new String("hello world");
            System.out.println("两个new出来的String");
            System.out.println(s01.equals(s02));
            System.out.println(s01 == s02);
            
            String s11 = new String("hello world");
            String s12 = s11;
            System.out.println("两个相同的String");
            System.out.println(s11 == s12);
            System.out.println(s11 == s12);
            
            String s21 = "hello world";
            String s22 = "hello world";
            System.out.println("两个直接赋值的String");
            System.out.println(s21.equals(s21));
            System.out.println(s21 == s22);
            
            Object s31 = new Object();
            Object s32 = new Object();
            System.out.println("两个new出来的普通对象");
            System.out.println(s31.equals(s31));
            System.out.println(s31 == s32);
            
            Integer s41 = new Integer(1);
            Integer s42 = new Integer(1);
            System.out.println("两个new出来的基本类型包装类");
            System.out.println(s41.equals(s41));
            System.out.println(s41 == s42);
            
            
        }
    }

    测试结果:

    两个new出来的String
    true
    false
    两个相同的String
    true
    true
    两个直接赋值的String
    true
    true
    两个new出来的普通对象
    true
    false
    两个new出来的基本类型包装类
    true
    false

    注:

    由于s21和s22是两个字符串常量所生成的变量,其中所存放的内存地址是相同的,

    原文链接:http://www.cnblogs.com/FlyFive/archive/2013/01/05/2845314.html

  • 相关阅读:
    树形地铁系统[树的最小表示]
    156. 矩阵[二维的hash]
    兔子与兔子
    滑动窗口【单调队列入门题】
    【YBTOJ】生日相同
    【YBTOJ】移位包含
    【YBTOJ】【HDUOJ 3085】逃离噩梦
    【YBTOJ】立体推箱子
    【CodeForces 1408F】Two Different
    【Luogu P3338】[ZJOI2014]力
  • 原文地址:https://www.cnblogs.com/FlyFive/p/2845314.html
Copyright © 2011-2022 走看看