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

使用泛型继承 OptaPlanner 解决方案会导致错误

使用泛型继承 OptaPlanner 解决方案会导致错误

守着星空守着你 2022-11-02 15:32:28
我有一个抽象的通用“Foo”解决方案类,我的特定实现继承了它。此类是通用的,并允许实现类定义其特定的 PlanningEntity,它扩展了“Bar”这阻塞了 optaplanner,它会吐出如下错误:未按预期克隆解决方案属性(列表)。FieldAccessingSolutionCloner 无法识别该属性的字段,可能是因为其字段名称不同。我尝试用特定的实现类替换“EntityType”,并且事情似乎有效。但是,我正在尝试提取通用功能以减少维护,这使我无法提取所有共性。我也尝试过梳理 OptaPlanner 文档。我找不到这样的例子。@PlanningSolutionpublic abstract class Foo <EntityType extends Bar> implements Solution<HardMediumSoftScore>{    protected HardMediumSoftScore score;    protected ArrayList<EntityType> list = new ArrayList<>();    @PlanningEntityCollectionProperty    public ArrayList<EntityType> getList()    {        return this.list;    }    @Override    public HardMediumSoftScore getScore()    {        return this.score;    }    public void setScore(HardMediumSoftScore score)    {        this.score = score;    }}我希望能够在没有 optaplanner 抛出错误的情况下继承。optaplanner 是否设置为处理泛型/继承?我正在使用 6.5,是否有更新版本可以更好地支持此功能?
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

在该字段上添加@DeepPlanningClone注释。

此外,从 迁移implements Solution@PlanningSolution,请参阅optaplanner.org 上的升级配方


查看完整回答
反对 回复 2022-11-02
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

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