栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中==和equals的区别,新手必会!

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中==和equals的区别,新手必会!

==的作用:

        基本类型:比较的就是值是否相等

        引用类型:比较的就是地址值是否相同

equals的作用:

        引用类型:默认情况下,比较的是地址值

        特殊:String、Integer、Date这些类库中的equals被重写了,比较的是内容而不是地址!

例如:

public static void main(String[] args) {
    Integer a = 11;
    Integer b = 11;
    Integer c = 22;
    System.out.println(a==b);
    System.out.println(a==c);
    System.out.println(a.equals(b));
    System.out.println(a.equals(c));
}

结果:

true
false
true
false

面试题:请解释字符串比较中“==”和equals()的区别?

        答:==:比较的是两个字符串的内存地址(堆内存)的值是否相等,属于值的比较;

               equals():比较的就是两个字符串的内容,属于内容比较。

例如:

public class Main {
    public static void main(String[] args) {
        String s = new String("abc");
        String s1 = "abc";
        String s2 = "def";
        String s3 =  new String("abc");;
        System.out.println(s==s1);
        System.out.println(s==s2);
        System.out.println(s==s3);
        System.out.println(s.equals(s1));
        System.out.println(s.equals(s2));
        System.out.println(s.equals(s3));
    }
}

结果:

false
false
false
true
false
true

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号