各位好,我在写程序的时候遇到以下问题,希望各位大虾多多指教:
 定义一个类User,在User类里面有个League的set,所以对equals方法进行重载如下:public boolean equals(Object obj){

if(this == obj){  //提示错误:Incompatible operand types User and Object
return true;
}
if(user != null && obj.getClass() == User.class){
User user = (User)obj;//提示错误:Cannot cast from Object to User
return this.getUserStuID().equals(user.getUserStuID());
}
return false;
         }我所用的IDE是MyEclipse 8.0,曾在MyEclipse 6.5 上运行过也提示同样的错误。

解决方案 »

  1.   

    我试过了,好用的,是你的IDE有问题。
    还有,这句错了
    if(user != null && obj.getClass() == User.class){ 
    应该是
    if(obj!= null && obj.getClass() == User.class){ 
      

  2.   

    还有,我用MyEclipse 8.0又试了一下,好用的。
      

  3.   

    覆盖equals方法,必须重写相应的hashCode方法。
      

  4.   

    人家比较的是User类中的userStuID是否相等,本身就是String类型的比较
      

  5.   


    谢谢一路向北的回答,的确是IDE的问题,把project delete后重新再 build 一个就没事了。