为了账号安全,请及时绑定邮箱和手机立即绑定

【Java】问题求解。

【Java】问题求解。

Dispatch 2014-09-29 12:49:38
//有一个Datas类如下 class Datas {     private double height;     private double width;     private double length;     private double weight;          ....          public Datas compareHeight(Datas data)     {         if(this.height>data.height)         {             return this;         }else{             return data;         }     }          public Datas compareWidth(Datas data)     {         if(this.Width>data.Width)         {             return this;         }else{             return data;         }     }          public Datas compareLength(Datas data)     {         if(this.length>data.length)         {             return this;         }else{             return data;         }     }          public Datas compareWeight(Datas data)     {         if(this.weight>data.weight)         {             return this;         }else{             return data;         }     }     ..... }可以看到这个类中有好几个类似的compare方法,他们的唯一不同就是比较的属性不同而已,导致代码重复,有没有办法把这几个方法整合成一个方法(通过多添加一个参数 String cmp_type(类似的)来确定比较的属性)。类似的函数可能如下:    public Datas compare(Datas data,String cmp_type)     {         ...     }这样一来,上面的函数就可以修改成下面的样子,从而简化代码:    public Datas compareHeight(Datas data)     {         return compare(data,"height");     }     ...
查看完整描述

1 回答

?
没有马甲线的安琪拉

TA贡献53条经验 获得超8个赞

考虑一下,应用反射获取对象属性然后比较

查看完整回答
反对 回复 2014-09-29
  • 1 回答
  • 0 关注
  • 1573 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信