全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java中的== 和equals()方法详解与实例

Java中的== 和equals()方法:

Java中的数据类型,可分为两类:

1.基本数据类型,也称原始数据类型。

byte,short,char,int,long,float,double,boolean,他们之间的比较,应用双等号(==),比较的是他们的值。

2.引用数据类型(类)

当它们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。

Java当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals()的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址。

对于引用数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

Object中的equals()方法

publicbooleanequals(Objectobj){
return(this==obj);
}
举个实例:
packageorg.java.test;
publicclassPerson{
privateintage;
privateStringname; 
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicPerson(intage,Stringname){
this.age=age;
this.name=name;
}
publicPerson(){
}
@Override
publicinthashCode(){
finalintprime=31;
intresult=1;
result=prime*result+age;
result=prime*result+((name==null)?0:name.hashCode());
returnresult;
}
@Override
publicbooleanequals(Objectobj){
if(this==obj)
returntrue;
if(obj==null)
returnfalse;
if(getClass()!=obj.getClass())
returnfalse;
Personother=(Person)obj;
if(age!=other.age)
returnfalse;
if(name==null){
if(other.name!=null)
returnfalse;
}elseif(!name.equals(other.name))
returnfalse;
returntrue;
} 
}
MainTest.java[java]view plaincopyprint?
packageorg.java.test;
publicclassMainTest{
publicstaticvoidmain(String[]args){
Personp1=newPerson(99,"A");
Personp2=newPerson(99,"A");
Personp3=p1;
System.out.println(p1==p2);//false
System.out.println(p1==p3);//true
System.out.println(p1.equals(p2));
//未重写equals()方法,返回false
//重写equals()方法后,比较的是内容,返回true; 
System.out.println("<====================>");
Strings1="hello";
Strings2="hello";
Strings3=newString("hello");
System.out.println(s1==s2);//true
System.out.println(s1==s3);//false
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//true
}
}

希望本文对各位朋友有所帮助


# Java  # ==  # 和equals()方法  # equals()方法  # Java equals()方法使用详解及总结  # Java中==符号与equals()的使用详解(测试两个变量是否相等)  # 详解Java中==和equals()的区别  # Java中==和equals()的区别总结  # Java中equals()方法实例详解  # Java中equals()方法重写实现代码  # 详解Java中“==”与equals()的区别  # 详解java==运算符和equals()方法的区别  # Java自定义实现equals()方法过程解析  # Java中equals()方法的理解与使用方法例子  # 的是  # 他们的  # 重写  # 他们之间  # 都是  # 但在  # 掉了  # 在这些  # 可分为  # 两类  # 举个  # 也称  # 类中  # 类库  # 情况下  # publicintgetAge  # class  # br  # Objectobj  # pre 


相关文章: 外贸公司网站制作,外贸网站建设一般有哪些步骤?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  北京网站制作的公司有哪些,北京白云观官方网站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何撰写建站申请书?关键要点有哪些?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  建站之星会员如何解锁更多建站功能?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  宿州网站制作公司兴策,安徽省低保查询网站?  如何通过FTP空间快速搭建安全高效网站?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站中国官网:模板定制+SEO优化+建站流程一站式指南  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  设计网站制作公司有哪些,制作网页教程?  专业公司网站制作公司,用什么语言做企业网站比较好?  如何快速搭建高效香港服务器网站?  已有域名和空间,如何快速搭建网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在云服务器上快速搭建个人网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何制作算命网站,怎么注册算命网站?  网站app免费制作软件,能免费看各大网站视频的手机app?  如何快速搭建FTP站点实现文件共享?  如何基于PHP生成高效IDC网络公司建站源码?  jQuery 常见小例汇总  贸易公司网站制作流程,出口贸易网站设计怎么做?  定制建站是什么?如何实现个性化需求?  建站之星备案是否影响网站上线时间?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何高效搭建专业期货交易平台网站?  建站之星展会模板:智能建站与自助搭建高效解决方案  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  网站制作模板下载什么软件,ppt模板免费下载网站?  如何设置并定期更换建站之星安全管理员密码?  建站主机如何选?高性价比方案全解析  小型网站建站如何选择虚拟主机?  如何通过VPS建站实现广告与增值服务盈利?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  建站之星2.7模板快速切换与批量管理功能操作指南  内部网站制作流程,如何建立公司内部网站?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  Python如何创建带属性的XML节点  实例解析Array和String方法  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。