重写equals后报空指针异常,不太会debug

重写equals后报空指针异常,不太会debug

// 重写equals方法,比较两个对象是否相等(比较shape,taste)

public boolean equals(Fruits temp){

  if(temp==null)

      return false; 

  if(this.getShape().equals(temp.getShape())&&(this.getTaste().equals(temp.getTaste())))

      return true;

  else

      return false;

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 Annie的熊 2017-08-09 13:44:30

额,老师你好厉害,确实是get方法中我粗心的把属性写错了

  public String getTaste(){

       return this.taste;

   }

我之前写成了 return this.shape!

谢谢老师,还有我想请教老师是怎么直接猜到是get方法里有问题的?

  • 嗯嗯,能解决问题就好~~~哈哈,多做多练,真正扎实掌握的时候,就能跟我一样厉害啦~~
    2017-08-09 19:02:59
喜欢做梦的鱼 2017-08-08 20:06:03

建议先检查一下Fruit类型中,getShape(),getTaste()方法的返回值是否是空对象。仅从你目前贴出来的代码,并不能准确定位到你的问题。

  • 提问者 Annie的熊 #1
    额,老师你好厉害,确实是get方法中我粗心的把属性写错了 public String getTaste(){ return this.taste; } 我之前写成了 return this.shape! 谢谢老师,还有我想请教老师是怎么直接猜到是get方法里有问题的?
    2017-08-09 13:45:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师