Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » 实战错误讨论  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 奇怪,关于equals方法的一个例子
glq2000





发贴: 1
积分: 0
于 2006-11-04 09:00 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我写了一个关于equals方法的的例子,我的疑问是如果Student类没有重写父类Object中的equals方法而直接使用它时 ,为什么在该返回true时也返回false呢 ?谢谢
class Student
{
   private String name;
   private int age;
   public Student(String name,int age)
   {
     this.name=name;
     this.age=age;
   }
   public boolean equals(Object obj)//如果不重写Object父类中的equals方法的话,则总是返回false;
{
     Student st=null;
     if(obj instanceof Student)
     {
       st=(Student)obj;
       if(st.name==name&&st.age==age)
         return true;
       else
         return false;
     }
     else
       return false;
  }
   public static void main(String [] args)
   {
     Student st1=new Student("wangwu",20);
     Student st2=new Student("wangwu",20);
     if(st1.equals(st2))//假设上面没有重写equals方法,则总是返回false;为什么会这样呢??
       System.out.println("equals");
     else
       System.out.println("not equals");
   }
}




话题树型展开
人气 标题 作者 字数 发贴时间
9346 奇怪,关于equals方法的一个例子 glq2000 1659 2006-11-04 09:00
7333 Re:奇怪,关于equals方法的一个例子 ranchgirl 55 2006-11-04 09:44
7451 Re:奇怪,关于equals方法的一个例子 zhangwensheng 31 2006-11-07 13:19
7709 Re:奇怪,关于equals方法的一个例子 bd0571 140 2006-11-13 19:31

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923