zoukankan      html  css  js  c++  java
  • SE Homework 1 —An Error Impressed Me

    在对两个对象进行比较、判断是否相等时,直接用 == 放在两个对象中间,例如下面的代码:

            Infor i1 = new Infor(111,"AA");

            Infor i2 = new Infor(111,"AA");

            System.out.println(i1 == i2);

    输出的结果总为false,查了之后知道了 == 只是比较了两个引用变量的内存地址是不是相同,也就是是不是“同一个对象”而不是“相等”。要比较是否相等,需要通过重写equals()方法,也就是下面的代码: 

            public boolean equals(Object obj){

            if(this == obj){

                return true;

            }else if(obj instanceof Infor){

                Infor i1 = (Infor) obj;

                return this.orderld == o1.orderld &&

                        this.orderName.equals(o1.orderName);

            }else {

                return false;

            }

        }

    然后再调用equals方法返回值就是true了!

            System.out.println(i1.equals(i2));

  • 相关阅读:
    java-正则表达式6
    java-正则表达式5
    java-正则表达式4
    java-正则表达式3
    java-正则表达式2
    12.5
    JAVA GUI随笔
    JAVA个人知识总结
    UML关系图
    JAVA中的聚集和组合的区别和联系
  • 原文地址:https://www.cnblogs.com/Veronica226/p/5243335.html
Copyright © 2011-2022 走看看