一句话概括 ==和equals及hashcode的区别

Java中 使用 == 可以来判断两个变量的值是否相等 他还可以判断两个对象的地址引用是否指向同一对象

equals 判断String类型的值是否相等,也可以判断两个对象的地址引用是否指向同一对象 返回值与==相同

hashcode 则是返回一个对象的 hash编码,返回为int型,一般是唯一的  equals判断的对象相等则两个对象的hashcode的返回值也相等

    public static void main(String[] args) {

        String a="100";
        String i="100";
        String b=new String("100"); //如果没写new 则在常量区 如果有new在堆中

        Test c = new Test();
        Test d = new Test();

        Integer e=1;
        Integer f=1;

        int g=1;
        int h=1;
        System.out.println("=============String=================");
        System.out.println("==:"+(a==b));
        System.out.println("==:"+(a==i));
        System.out.println("equals:"+a.equals(b));
        System.out.println("===============对象===============");
        System.out.println("==:"+(c==d));
        System.out.println("equals:"+c.equals(d));
        System.out.println("===============封装类===============");
        System.out.println("==:"+(e==f));
        System.out.println("equals:"+e.equals(f));
        System.out.println("===============变量===============");
        System.out.println("==:"+(g==h));
     //   System.out.println(g.equals(h)); 直接报错 equals不能用于变量 若想比较 必须使用封装类
        System.out.println(a.hashCode());
        System.out.println(i.hashCode());
        System.out.println(b.hashCode());


        System.out.println(c.hashCode());
        System.out.println(d.hashCode());

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值