使用instanceof中碰到的问题~~~

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:38:02
在学习容器时,编写了一个Name类,如下

public class Name {
private String firstName,secondName;
public Name(String firstName,String secondName){
this.firstName=firstName;
this.secondName=secondName;
}
public String getfirstName(){
return firstName;
}
public String getsecondName(){
return secondName;
}
public String toString(){
return (firstName+" "+secondName);
}
public boolean equals(Object obj){
if(obj instanceof Name){
Name name=new (Name)obj;
return (firstName.equals (Name.this))&&(secondName.equals(Name.this));
}
return super.equals(obj);
}
public int HashCode(){
return firstName.hashCode();
}
重写equals方法时,比较一下obj是否属于Name时,程序报错是为什么啊?
麻烦高手看看~~

Name name=new (Name)obj;
这里错了obj不用在new了,他是你传进来的参数,
而且new玩后即使要强制类型转换也不该是这样写
应该是(Name)new obj

这个类的正确写法是(Name)obj

Name name=new (Name)obj; 强制转换不用new,new是添加新的对象实例
还有最后少了一个 }
没有主函数,输出不了什么!

Name name = new (Name)obj;
要改成Name name = (Name)obj

Name name=new (Name)obj; 干嘛要new ,obj是你传递的参数