首页 > 代码库 > Java equals和toString用法
Java equals和toString用法
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; } }
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、结果
3、解释
判断非引用类型,比如int型,我们可以直接用==。
判断引用类型,==判断是它们所指向对象的地址是不是相同。
判断引用类型,要复写object类的equals方法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。