Java中==和equals的区别

来源:互联网 发布:上海网络推广铭心 编辑:程序博客网 时间:2024/06/16 12:59

在java中==和equals的区别当我们去面试实习生时会经常被问到,那么被问到时我们该怎么回答呢?下面我就为大家讲解一下具体的==和equals的区别得意


首先==可以对基本数据类型进行比较,此时比较的是两个基本数据类型大小是否一致,==也可以对引用数据类型进行比较,此时比较的就是引用数据类型存储在栈内存中的地址,

例如当使用String s1 = new String("123");   String s2 = new String("123");的时候这两句话共创建了两个对象,这两个对象,分别在栈内存中指向不同的地址值,而new出的对象s1,s2是存储在堆内存当中的,所以我们如果输出s1==s2,结果会是false,因为此时是比较栈内存中的地址值。假如我们使用s1.equals(s2)结果会返回true,因为equals比较的是地址值指向堆内存中的具体的内容,所以会返回true.


原创粉丝点击