明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

一句话区别:==比较的是内存地址,equals比较的是值内容

结论:

从以下三点展开:

基本数据类型、字符串、对象

  1. 对于基本数据类型:只有==,没有equals.
  2. 对于字符串:==比较的是内存地址,equals比较的是值,需要在意的是new了一个String,会产生不同的对象,内存地址会发生变化
  3. 对于对象:==比较的是内存地址,equals比较的是值

 

如: String s1="abc";
  String s2="abc";
  s1.equals(s2) 是true 因为equals比较的是对象的内容
  而 s1==s2 是false 因为当两边的对象属于引用数据类型时,==的作用是判断对象的内存地址是否相同,s1和s2创建了不同的对象,所以内存地址肯定不同。