java中怎么判断字符是否相等,java判断两个对象是否相等的方法

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: