码迷,mamicode.com
首页 > 编程语言 > 详细

Java equals和toString用法

时间:2014-06-27 09:29:17      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   http   

1、代码

      User.java

public class User{
	String name;
	int age;

        public User(String name,int age){
		this.name = name;
		this.age = age;
	}

	public boolean equals(Object obj){
		if(this == obj)
			return true;
	
		boolean b = obj instanceof User;
		if(b){
			User u = (User)obj;
			if(this.age == u.age && this.name.equals(u.name)){//int型可以直接用==判断是否相等,String型复写了equals,所以要用equals去比较是否相等
				return  true;
			}else{
				return false;
			}
		}else{
			return false;
		}
	}

	public String toString(){
		return "age="+age+",name="+name;
	}
}


       Main.java

public class Main{

	public static void main(String args[]){

		User u1 = new User("lisi",21);
		User u2 = new User("lisi",21);
		User u3 = u2;
		System.out.println(u1.equals(u2));//会调用equals函数来判断,如果没有复写equals函数,默认的equals函数其实就是==
		System.out.println(u1==u2);//只会判断两者指向对象的地址是否相同,此时不同
		System.out.println(u3==u2);//只会判断两个指向对象的地址是否相同,此时相同
		System.out.println(u1);//调用toString
	}
}


2、结果

bubuko.com,布布扣


3、解释

     判断非引用类型,比如int型,我们可以直接用==。

     判断引用类型,==判断是它们所指向对象的地址是不是相同。

     判断引用类型,要复写object类的equals方法。

Java equals和toString用法,布布扣,bubuko.com

Java equals和toString用法

标签:style   class   blog   code   java   http   

原文地址:http://blog.csdn.net/jltxgcy/article/details/34841205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!