equal用法讲解java,java中equals方法的用法以及==的用法
00-1010使用等号和==1。==1.1概述1.2代码演示2。Equals的使用2.1概述2.2代码演示3。==和等于的区别3.1概述3.2代码演示上一篇博文:Java-多线程
目录
equals与==
00-1010用于比较基本类型的值时,只要两个变量的值相等,3360为真。
用于引用的引用类型比较(是否指向同一个对象),它比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体,只有指向同一个对象时,==返回true。
与“==”比较时,符号两边的数据类型必须兼容(可以自动转换的基本数据类型除外),否则会出现编译错误。
00-1010演示1:
//基本数据类型int i=10int j=10双d=10.0system . out . println(I==j);//true system . out . println(I==d);//true char c=10;system . out . println(I==c);//true char C1= A ;char c2=65system . out . println(C1==C2);//真实演示2:
String str1=新字符串(嘻嘻);String str2=新字符串(嘻嘻);system . out . println(str 1==str 2);//假演示3:
int i=10布尔b=真;//system . out . println(I==b);//错误:运算符“==”不能应用于“int”、“boolean”
1. ==的使用
00-1010是方法,不是运算符。
仅适用于引用数据类型。
对象类中equals()的定义:
public boolean equals(Object obj){ return(this==obj);}说明:Object类中定义的equals()和==的作用相同:比较两个对象的地址值是否相同。即两个引用是否指向同一个对象实体。
比如字符串、日期、文件、包装类等等。所有方法都覆盖Object类中的equals()方法。重写后,比较的不是两个引用的地址是否相同,而是两个对象的‘实体内容’是否相同。
通常,如果我们在自定义类中使用equals(),我们通常会比较两个对象的“实体内容”是否相同。然后,我们需要在Object类中重写equals()。重写的原理是比较两个对象的实体内容是否相同。
00-1010演示1:
人员p1=新人员();Person p2=新人();system . out . println(P1 . equals(p2));//false //Person是自定义类,没有重写equals()。String str1=new String(小老师IR );String str2=new String(小老师IR );system . out . println(str 1 . equals(str 2));//true Date date1=新日期(32432525324 l);Date date2=新日期(32432525324 l);system . out . println(date 1 . equals(date 2));//真实演示2:
公共类客户{私有字符串名称;私人年龄;@ override public boolean equals(Object obj){ if(this==obj)返回trueif (obj==null)返回falseif (getClass()!=obj.getClass())返回false客户其他=(客户)对象;如果(年龄!=other.age)返回falseif (name==null) {if (other.name!=null)返回false} else if(!name.equals(other.name))返回false返回true}}
1.1 概述
00-1010==可以比较基本类型和引用类型。对于基本类型,这意味着比较值,对于引用类型,这意味着比较内存地址。
Equals,它是java.lang.Object类中的一个方法。如果这个方法没有被重写,默认为==;我们可以看到String等类的equals()方法被重写,日常开发中经常用到String类。久而久之,就形成了等于是比较值的错误观点。
这取决于Object的equals()方法是否在自定义类中被覆盖。
通常,重写equals方法会比较类中对应的属性是否都相等。
1.2 代码演示
int it=65;float fl=65.0 f system . out . println(" 65和65.0华氏度是否相等?"(it==fl));//true char ch1= A ;char CH2=12 system . out . println( 65和一个是否相等?(it==ch1));//true System.out.println("12和ch2是否相等?(12==CH2));//true String str 1=new String( hello );字符串str2=新字符串(‘你好’);System.out.println(str1和str2是否相等?(str 1==str 2));//假系统。出去。println(字符串1是否等于str2?(str 1。equals(str 2));//真系统。出去。println(" hello "==新Java。util。date());//编译不通过到此这篇关于爪哇全面细致讲解==和等于的使用的文章就介绍到这了,更多相关Java==和等于内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。