zoukankan      html  css  js  c++  java
  • 初探java对象比较

    判断两个对象的属性值是否相等的方法,

    class Book{
        private String title;
        private double price;
        public Book(String title,double price){
            this.title = title;
            this.price = price;
        }
        public boolean compare(Book book){
            if(book == null){
                return false;
            }
            if(this.equals(book)){    //this表示调用该方法的对象,此处也可以:this==book;表示thi和book指的是同一个对象
                return true;
            }
            if(this.title.equals(book.title) && this.price == book.price){//本类对象可以在本类内部调用私有属性
                return true;
            }else{
                return false;
            }
        }
    }
    public class Test{
        public static void main(String args[]){    
            Book b1 = new Book("数据结构",18.6);
            Book b2 = new Book("数据结构",18.6);
            Book b3 = new Book("数据结构与抽象",37.0);
            System.out.println(b1.compare(b2));//true
            System.out.println(b1.compare(b3));//false
            System.out.println(b1.compare(b1));//true
            System.out.println(b1==b2);//false
        }
    }

     利用Objectl类中的public boolean equals()方法完善对象比较

    class Book{
        private String title;
        private double price;
        public Book(String title,double price){
            this.title = title;
            this.price = price;
        }
        public boolean equals(Object obj){
            if(obj == null){
                return false;
            }
            if(this == obj){    
                return true;
            }
            if(!(obj instanceof Book)){ //如果obj属于Book类对象,没有存在比较的意义,
                return false;
            }
            Book  book = (Book) obj;    //向下转型
            if(this.title.equals(book.title) && this.price == book.price){//本类对象可以在本类内部调用私有属性
                return true;
            }
            return false;
        }
    }
    public class Test{
        public static void main(String args[]){    
            Book b1 = new Book("数据结构",18.6);
            Book b2 = new Book("数据结构",18.6);
            Book b3 = new Book("数据结构与抽象",37.0);
            System.out.println(b1.equals(b2));//true
            System.out.println(b1.equals(b3));//false
            System.out.println(b1.equals(b1));//true
            System.out.println(b1==b2);//false
        }
    }
  • 相关阅读:
    Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
    C# AD(Active Directory)域信息同步,组织单位、用户等信息查询
    Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件
    体验vs11 Beta
    jQuery Gallery Plugin在Asp.Net中使用
    第一个Python程序——博客自动访问脚本
    网盘:不仅仅是存储
    TCP/UDP端口列表
    Linux的时间 HZ,Tick,Jiffies
    Intel Data Plane Development Kit(DPDK) 1.2.3特性介绍
  • 原文地址:https://www.cnblogs.com/hu1056043921/p/7301426.html
Copyright © 2011-2022 走看看