java中==与equeals的区别
来源:互联网 发布:全国信息技术水平java 编辑:程序博客网 时间:2024/06/03 21:46
==:
==是比较两个变量的值,如果是基本数据类型,那么就是比较的基本数据的大小值
情况一:
int a=1;int b=1;System.out.println(a==b);上面代码的图解:
以上图中:==比较的就是上面两个内存块中的值,都是1,所以是true
变量存储引用类型其实存储的只是引用对象的地址作为值存储到变量中,那么当用==
判断时,比较的就是这两个地址值了,所以说==比的是两个变量所存储的值,
至于这个值是什么类型的,就看放什么了
情况二:
User a = new User();User b = new User();System.out.println(a==b);
在上图中,a和b存的就是一个引用对象,在这时判断a==b时,比较的也是a和b所存储的值,
可以看出,a里面存的是0x1234,b里面存放的是0x5874,很明显不相等,所以是false
情况三:
而当使用==比较字符串时:
String a="abcd";String b="abcd";System.out.println(a==b);
这时,a和b存储的是同一个常量字符串,地址也一样,所以是true。
情况四:
String a=new String("abcd");String b=new String("abcd");System.out.printlnl(a==b);
如果通过创建对象的方式创建字符串,那么流程就会向上图一样,a和b里面所存放的值就不一样了,a和b 比较就是false
equals:
equals是属于Object的方法,在默认实现下其实就是==,也就是说和==是一样的,下图是Object中的默认实现
equals重写了,String重写的逻辑就是比较字符串内容。下图就是String重写的equals方法
阅读全文
0 0
- java中==与equeals的区别
- java面试遇到的 ==与equeals试题
- == 和equeals的区别
- Java中双等号和equeals的区别
- java中"+"与”+=“的本质区别
- 【java中==与equals的区别】java中==与equals的区别
- java中equals的用法,与“==”的区别
- java中equals与==的区别
- java中equals() 与==的区别
- java中“==”与“equals”的区别
- java中“==”与“equals”的区别
- Java中==与equals的区别
- java中equals与==的区别
- java中equals与==的区别
- Java中== 与 equals的区别
- java中== 与equals的区别
- java中==与equals的区别
- java中==与equals的区别
- Oracle数据库导入dmp文件的基本步骤
- SpEL(Spring Expression Language)表达式语言
- 机器学习的算法和普通《算法导论》里的算法有什么本质上的异同
- 汉诺塔问题
- 正则表达式
- java中==与equeals的区别
- vue与style绑定
- Mysql主从同步
- Sorting Algorithm(1)
- python3 爬取网页的异常处理
- [阅读随笔]—《JavaScript面向对象编程指南第2版》—第128页错误指正
- 软件设计师考试小总结
- 6.4 求1到n之间的所有数的平方和立方
- 【云星数据---mesos实战系列003】:marathon实战003--marathon部署一套最简单的Nginx环境