public boolean equals(Object o){ 
                     boolean flag = false;
   if(o==null){
return flag;
}
                return flag;//为什么还要加这句return 语句啊,上面if{}语句中不是已经返回了吗,程序不是执行完了啊,所以可不可以不用加这句 return flag

解决方案 »

  1.   

    那如果0!=null呢??
    不用多说了吧
      

  2.   

    因为你只判断了o==null的情况,, 而没有o!=null的情况。。public boolean equals(Object o){ 
      boolean flag = false;
    if(o==null){
    return flag; 
    }
    else
      return flag;
    }这样子就成立了
      

  3.   

    public boolean equals(Object o){ 
      boolean flag = true;
      if(o==null){
        return false; 
      }
      else
        return flag;
      }
      

  4.   

    正确的代码应该是这样的
    public Boolean equals(Object o){ 
      boolean flag = false;
    if(o==null){
    flag=false; 
    }else if(o!=null){
    flag=true;
    }else{
    flag=false;
    }
    return flag;
    }
    因为你方法定义为Boolean 就是要必须返回一个true或是false的布尔型值 你的代码中只是判断了o==null的情况别的情况并没有进行说明, 如果是出现了不是你判断的情况程序该返回什么呢
      

  5.   

    汗把if语句删了,就知道为什么要return了
      

  6.   

    实在是看不出这样写有什么意义,因为无论传进来的O是什么值,都会返回false.
    我觉得应该flag初始赋值为true。public boolean equals(Object o){
      boolean flag = true;
      if(o==null){
          return flag;
      }
      return flag

      

  7.   

    好丢脸呀,写错了改一下public boolean equals(Object o){
      boolean flag = false;
      if(o==null){
          return flag;
      }
      flag = true;
      return flag;

      

  8.   

    public boolean equals(Object o){
      boolean flag = false;
    if(o==null){
    return true;
    }
    return flag;
    写错了,这样的
      

  9.   

    你的程序很有问题啊,if(o==null)return flag;不等于空还返回flag,这样写有什么意思吗?
      

  10.   

    你的方法声明了返回值,而在你的方法中存在if,那就必须要考虑else的情况的返回值