java String中‘==’与equals()详解

讲解java中String中‘==’与equals()的用法

本文内容

  • 简述java缓存池原理
  • ==操作符用法
  • equals()用法
java缓存池原理

在java7之后,创建字符串引用会判断字符串对象是否存在于缓存池,如果存在直接返回缓存池结果, 如果不存在,则会将当前堆中对象的引用存放在缓存池中,在返回其引用地址。

java缓存池详细讲解

==操作符用法

用法一:用于数值的比较。

用法二:用于比较引用是否指向堆内存的同一个地址。

提示:只有new出来的才是对象,其余均为引用

1.比较两个引用

值相等的两个引用‘==’结果相等
在这里插入图片描述
2.比较一个引用一个对象

值相等的引用和对象,结果不相等
在这里插入图片描述
3.比较两个对象

值相等的两个对象,结果不相等
在这里插入图片描述

equals()用法

String类重写了toString()方法,用.equals()比较可以直接比较其具体的值即字符串。

1.比较两个引用

两个值一样的引用,结果相等
在这里插入图片描述

2.比较一个引用一个对象

两个值一样的对象和引用,结果相等
在这里插入图片描述
3.比较两个对象

两个值一样的对象,结果相等
在这里插入图片描述

总结

在比较字符串时最好用equals()方法,避免被==坑

发布了42 篇原创文章 · 获赞 21 · 访问量 2885

猜你喜欢

转载自blog.csdn.net/Late_whale/article/details/103738457