==与equals()方法比较
来源:互联网 发布:java synchronized实现 编辑:程序博客网 时间:2024/06/14 21:47
简单来说,“==”用来比较基本数据类型,equals()方法用来比较引用数据类型
原理:基本类型数据存放在栈中,可直接用“==”用来比较,而引用类型数据存放在堆中,在栈中存放的是内存地址,用“==”来比较引用类型比的是内存地址,没有意义,所以要用“==”来写equals()方法来比较引用类型。最常见的是在字符串中用equals()来比较,那是因为在Java源码中已经帮我们重写了equals()方法(在equals方法内部还是用“==”),我们可以直接拿来使用,如用equals()比较其他引用类型,不可以直接拿来用,需要自己来重写equals()方法。
在字符串中有一种特别情况,字符串的创建方式有两种,一种是用new来创建一个对象,给对象赋值,这叫字符串变量,用new创建的数据都是放在堆中,在栈中存放内存地址,所以用equals()方法进行比较;另一种是直接在等号后面用双引号将字符串包裹起来,这叫字符串常量,也叫字面量,它是存放在方法区中的一个叫字符串池的地方,字符串池是为了节约内存空间,在创建字符串时先在字符串池中寻找,如果内容已存在,即将它的地址放在栈中,如果没有就在字符串池中分配内存,然后把地址放在栈中,因此相同内容的字符串地址也相同,可以用“==”来比较,当然也可以用equals()方法比较。
为了方便比较字符串我们一般都用equals()方法。
.
阅读全文
0 0
- ==与equals()方法比较
- ==与equals方法的比较
- java equals方法与==比较
- equals 与“=”比较
- equals 与 == 比较
- == 与 equals 比较
- equals( )方法与 == 运算符的用法比较
- (总是忘记)的equals方法与“==”简单比较
- java中equals()方法与“==”的比较
- ==与.equals方法的比较区别
- equals方法和==方法比较
- java中的比较运算符== 与 equals()方法
- java基础巩固系列(六):java中equals()方法与==的比较
- equals()方法和==的比较
- equals方法和==的比较
- equals.()与"=="的比较
- equals与==的比较
- 字符串比较: equals() 与 ==
- SpringMVC框架与Servlet介绍
- hibernate 的一级缓存的相关问题
- 练习题——继承
- CCF-20160902-火车购票(100分)
- python学习(二十二)
- ==与equals()方法比较
- 继承
- 解读 | 旷视首席科学家孙剑解析AlphaGo Zero:它真的无师自通?
- 前瞻 | 无人驾驶或将引发城市向郊区扩张与房地产变革
- 安装elementary os
- jdbc基本流程(注入数据源)
- python unittest简单总结
- 一个简单的mysql存储过程的例子
- React.js 开发参见问题