zoukankan      html  css  js  c++  java
  • Java知识点-----------重写Object的equals方法

    题目:编写Order类,有int型的orderId, String型的orderName,相应的getter()和setter()方法,两个参数的构造器,

    重写父类的equals()方法:public boolean equals(Object obj), 并判断测试类中创建的两个对象是否相等。

    1. 手动重写

    	@Override
    	/**
    	 **重写Object类的equals的方法
    	 */
    	public boolean equals(Object obj) {
    		//判断两个obj的地址值是否相等,如果相等就是同一个对象,返回true
    		if (this == obj) {
    			return true;
    		}
    		//判断obj对象是否是由Order类或其子类创建
    		if (obj instanceof Order) {
    			//如果obj是由Order或其子类创建,则将obj强转为Order类
    			Order o = (Order)obj;
    			//注意比较两个类的属性的值是否相等,如果相等返回true
    			if (this.getOrderId() ==  o.getOrderId() && this.getOrderName().equals(o.getOrderName())){
    				return true;
    			}
    		}
    		return false;
    	}
    

    2. eclipse自动的生成代码

    	@Override
    	public boolean equals(Object obj) {
    		//比较两个对象地址值是否相同
    		if (this == obj)
    			return true;
    		//如果某个对象地址值为空,直接返回false
    		if (obj == null)
    			return false;
    		//比较连个对象是否是同一个类
    		if (getClass() != obj.getClass())
    			return false;
    		//如果两个对象是同一个类,则把obj强转为order类型
    		Order other = (Order) obj;
    		//比较连个对象的属性
    		if (orderId != other.orderId)
    			return false;
    		if (orderName == null) {
    			if (other.orderName != null)
    				return false;
    		} else if (!orderName.equals(other.orderName))
    			return false;
    		return true;
    	}
    

      

  • 相关阅读:
    C#.NET Split 的几种使用方法
    给网站指明手机网网站
    手机访问网站自动跳转到手机版
    手机网页点击链接触发手机自动拨打或保存电话的代码
    图片切换效果2(定时+左右按钮)
    java HttpClient设置代理
    将应用部署到Tomcat根目录的方法
    Java中ArrayList类的用法
    JSP/Serlet 使用fileupload上传文件
    java 格式化字符串
  • 原文地址:https://www.cnblogs.com/japhi/p/14969396.html
Copyright © 2011-2022 走看看