讲解java中String中‘==’与equals()的用法
本文内容
- 简述java缓存池原理
- ==操作符用法
- equals()用法
java缓存池原理
在java7之后,创建字符串引用会判断字符串对象是否存在于缓存池,如果存在直接返回缓存池结果, 如果不存在,则会将当前堆中对象的引用存放在缓存池中,在返回其引用地址。
==操作符用法
用法一:用于数值的比较。
用法二:用于比较引用是否指向堆内存的同一个地址。
提示:只有new出来的才是对象,其余均为引用
1.比较两个引用
值相等的两个引用‘==’结果相等
2.比较一个引用一个对象
值相等的引用和对象,结果不相等
3.比较两个对象
值相等的两个对象,结果不相等
equals()用法
String类重写了toString()方法,用.equals()比较可以直接比较其具体的值即字符串。
1.比较两个引用
两个值一样的引用,结果相等
2.比较一个引用一个对象
两个值一样的对象和引用,结果相等
3.比较两个对象
两个值一样的对象,结果相等
总结
在比较字符串时最好用equals()方法,避免被==坑