java中怎么判断字符是否相等,java判断两个对象是否相等的方法
如何解决写爬虫IP受阻的问题?立即使用。
java中的基本数据类型判断是否相等,直接使用”==”就行了,相等返回true,否则,返回false。
Obj1==obj2确定两个引用变量Obj1和obj2是否相等,即它们指向的对象是否是同一个对象。其含义是,只有当两个变量引用的内存地址相等时,才能返回true。每个对象都有自己的内存,所以必须指向同一个对象才能返回true。
如果要自定义两个对象(不是一个对象,即这两个对象有各自的内存)是否相等的规则,必须在对象的类定义中重写equals()方法。如果不重写equals()方法,默认的比较方法是比较两个对象是否是同一个对象。
在Java API中,有些类会重写equals()方法,它们的比较规则是:当且仅当equals方法参数不为null,且两个变量的类型和内容相同时,比较结果为真。
这些类包括:String、Double、Float、Long、Integer、Short、Byte、Boolean、BigDecimal、BigInteger等。有太多了,但这是所有的共同点。具体可以在API中看到该类的equals()方法。
重写equals()方法的步骤通常如下:
1.先用“==”判断两者是否相等。
2.判断equals()方法的参数是否为空,如果是,则返回false;因为当前对象不能为空,如果为空,则不能调用其equals()方法;否则,将引发java.lang.NullPointerException异常。
3.当参数不为null时,如果两个对象的运行时类(通过getClass())不相等,则返回false,否则继续判断。
4.确定该类的成员是否相互对应。我可以轻描淡写。
示例:
公共类狗{
私人年龄;
私有字符串名称;
public Dog(int age,String name){
this.age=年龄;
this.name=name
}
public int getAge() {
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
公共字符串getName() {
返回名称;
}
public void setName(字符串名){
this.name=name
}
@覆盖
公共布尔等于(对象对象){
if(obj==null){
返回false
}
if(this==obj){
返回true
}
if(狗的对象实例){
Dog Dog=(Dog)obj;
if(dog . age==this . age dog . name . equals(this . name)){
返回true
}否则{
返回false
}
}
返回false
}
公共静态void main(String[] args){
Dog dog1=新狗(12,王采);
Dog dog2=新狗(12,王采);
Dog dog3=新狗(16,王采);
system . out . println(dog 1 . equals(dog 2));//真
system . out . println(dog 1 . equals(dog 3));//假
}}}更多java知识请关注java基础教程。以上是java中判断相等的方法的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。