Java_79_equals_==

package Test;
/**
 * == 代表比较双方是否相同。如果是基本类型则表示值相等,如果
 * 是引用类型则表示地址相等即是同一个对象。
 * 
 * Object类中定义有:public boolean equals(Object)方法,
 * 提供定义“对象内容相等”的逻辑
 * 
 * equals 默认判断是否是同一个对象,如果是String类则比较内容
 * @author pmc
 *
 */
public class Equals {
	public static void main(String[] args){
		User u1=new User(1000,"张三","123456");
		User u2=new User(1000,"李四","123456");
		System.out.println(u1==u2);
		System.out.println(u1.equals(u2));
		
	}
}
class User{
	int id;
	String name;
	String pwd;
	public User(int id, String name, String pwd) {
		super();
		this.id = id;
		this.name = name;
		this.pwd = pwd;
	}
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		User other = (User) obj;
		if (id != other.id)
			return false;
		return true;
	}
	
	
}
发布了136 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/pmcasp/article/details/104959423
79