对象比较

属性比较

package *;

public class Book {
	public String name;
	public double price;
        //成员变量
	public Book(){}
	public Book(String name,double price){
		this.name=name;
		this.price=price;
	}
        //构造方法初始化
	//setter getter省略
	public boolean compare(Book book){//形式参数的数据类型为对象,对象名称
		if(book==null){return false;} //解决与null比较问题
		if(this==book){return true;} //解决自身比较问题,this表示当前类的属性,这里指的是所有属性
		
		if(this.name.equals(book.name) && this.price==book.price){//字符串不可以用==比较。
			return true;
		}else{
			return false;
		}
	}
	
	public String getInfo(){
		return "书名:"+this.name+",价格:"+this.price;
	}
}

  对象比较

package com.oralce.zibo;

public class Demo {
	public static void main(String[] args) {
	
//		Person p1=new Person("薇恩",25);
//		Person p2=new Person("薇恩",26);
		//p1 与 p2 进行比较
		
		Book b1=new Book("水浒传",55.9);
		Book b2=new Book("水浒传",55.98);
		
		System.out.println(b1.compare(b2));
				
		/*
		if(b1.name.equals(b2.name) && b1.price==b2.price){
			System.out.println("对象相等");
		}else{
			System.out.println("对象不相等");
		}*/
		
	}
}

  

原文地址:https://www.cnblogs.com/dldrjyy13102/p/7589821.html