注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

love3400wind的blog

like

 
 
 

日志

 
 
 
 

java基础==与equal区别  

2014-12-09 15:03:12|  分类: IT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
先看看如下程序:

int a = 1;

int b = 1;
boolean bool = a==b;
System.out.println("a==b -->" + b);//true
String s1 = new String("abc");
String s2 = new String("abc");
String s3 = "abc";
String s4 = "abc";

bool = s1 == s2;//false
System.out.println(bool);
bool = s1.equals(s2); // true
System.out.println("equal s1.equeal s2:-->" + bool);

bool = s1 == s3;//true
System.out.println(bool);
bool = s1.equals(s3); // true
System.out.println("equal s1.equeal s3:-->" + bool);


bool = s3 == s4;
System.out.println(bool);
bool = s3.equals(s4); // true
System.out.println("equal s3.equeal s4:-->" + bool);
知道每个输出么?
== :
对基本类型来说,就是比较其数值是否相等;
对对像类型来说,比较的是对像内存地址是否一致
equals: 
查看源代码发现,先做==比较,然后比较内存中值是否一致,简言之就是比较值,相等就相等
  评论这张
 
阅读(117)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017