==与equals的区别?
来源:互联网 发布:网络投票工具 编辑:程序博客网 时间:2024/06/05 05:32
String str1=new String("apple");
String str2=new String("apple");
现在有两个Boolean型表达式:
①str1==str2;
②str1.equals(str2);
上述例子的正确值是:①false ②true
那么结果为什么不一样呢?首先要明确这两个比较符的区别。==操作符是用来比较两个变量的值是否相等,具体的说就是比较变量所对应的内存内部存储的数值是否相等,要比较两个基本类型或者两个引用变量是否相等,则只能用到==操作符。
equals是用于比较两个独立对象中的内容是否相同,就如同生活中两个人的长相是否相同一样,它比较的对象都是独立性的。
如同上面案例中String str1=new String("apple"); String str1=new String("apple"); 两条new语句创建了两个对象,str1和str2指向不同的对象,它们的首地址不同,所以str1和str2中存储的数值不同,所以①结果为false;而两个对象中的内容却是相同的,所以②结果为true。
结合生活实例举例:
如同明星在拍戏的时候找替身,使用equals对比的是只要长的像就可以,不问出身不问出处;使用==对比的是必须是长的像,还是同父同母才可以,都属于同等血脉。
阅读全文
0 0
- equals与==,equals与hashcode的区别
- equals(Object) 与 == 的区别
- ==与equals的区别
- equals(Object) 与 == 的区别
- equals()与==的区别
- ==与equals()的区别
- equals与==的区别
- Java ==与equals()的区别
- equals(Object) 与 == 的区别
- ==与equals()的区别
- == 与 equals() 的区别
- equals(Object)与==的区别
- c# equals与==的区别
- equals()方法与==的区别
- ==与equals的区别
- c# equals与==的区别
- "=="与"equals()"的区别
- java equals与== 的区别
- 域名IP段批量生成器源码
- [模板]-树状数组
- 实验10 编写子程序
- 数据结构中的顺序表
- 【模板】快速排序
- ==与equals的区别?
- keilMDK调试技巧--编译
- C++的编译过程
- Spring bean的作用域
- 【模板】线性筛素数
- Ubuntu 14.04 安装GSL库
- ActiveMQ与Spring整合
- 使div标签中的内容浮动在最上层
- 209. Minimum Size Subarray Sum