问答详情
源自:9-9 Java 中的 Object 类 Ⅱ

结尾那个手机的程序,请问有人做出来了吗

equals有变量数量限制吗?我同时设置了三个变量进行比较,这是不是最终比较不同的原因?

提问者:慕粉0949566650 2020-08-18 17:30

个回答

  • qq_也许_coqF04
    2020-10-20 23:09:17

    public class Telphone {
        float screen;
        float cpu;
        float mem;//属性
    
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            Telphone telphone = (Telphone) o;
            return Float.compare(telphone.screen, screen) == 0 &&
                    Float.compare(telphone.cpu, cpu) == 0 &&
                    Float.compare(telphone.mem, mem) == 0;//自动生成的Object 判断工具
        }
    
    
    
    }
    public class Initail {
        public static void main(String[] args) {
            Telphone telphone1=new Telphone();
            telphone1. screen=1f;
            telphone1. cpu=2f;
            telphone1.mem=3f;//telphone1赋值
            Telphone telphone2=new Telphone();
            telphone2.screen=1f;
            telphone2.cpu=2f;
            telphone2.mem=3f;//telphone2赋值
            if(telphone1.equals(telphone2)){
                System.out.println("两个手机是相同的!");
            }
            else{
                System.out.println("两个手机是不同的");
            }//判断
        }
    }


  • qq_慕圣5548304
    2020-08-21 16:51:02

    1. 没有限制

    2. 三个分别比较,都相同则相同