A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© hzhzhen 中级黑马   /  2015-5-18 11:02  /  328 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在学习容器时,编写了一个Name类,如下

  1. public class Name {
  2. private String firstName,secondName;
  3. public Name(String firstName,String secondName){
  4.   this.firstName=firstName;
  5.   this.secondName=secondName;
  6. }
  7. public String getfirstName(){
  8.   return firstName;
  9. }
  10. public String getsecondName(){
  11.   return secondName;
  12. }
  13. public String toString(){
  14.   return (firstName+" "+secondName);
  15. }
  16. public boolean equals(Object obj){
  17.   if(obj instanceof Name){
  18.    Name name=new (Name)obj;
  19.    return (firstName.equals (Name.this))&&(secondName.equals(Name.this));
  20.   }
  21.   return super.equals(obj);
  22. }
  23. public int HashCode(){
  24.   return firstName.hashCode();
  25. }
复制代码



重写equals方法时,比较一下obj是否属于Name,程序就报错了,不知道为啥?

2 个回复

倒序浏览
你类型转换的时候不用加new
回复 使用道具 举报
18行Name name=new (Name)obj; 去掉new,
25行后加个大括号}
另外,为什么只有getName方法,没有setName方法?????

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马