class Lecture {
Teacher t1 = new Teacher()
Teacher t2 = new Teacher()
Teacher t3 = new Teacher()
@PlanningVariable(valueRangeProviderRefs = ["teacherRange"])
Teacher teacher
@ValueRangeProvider(id = "teacherRange")
public List<Teacher> getTeacherRange() {
[t1, t2, t3]
}
}这段代码是用groovy编写的。
当我调试时,我发现来自教师的对象与t1,t2,t3有不同的哈希码,我认为老师是克隆对象,对吗?
那么,如果我想更新分配给老师的老师,怎么做?因为我不能在其他地方更新t1,t2,t3
发布于 2018-09-28 11:08:14
查看PlanningVariable的文档,我读到:
它是在PlanningEntity类的java属性的getter上指定的。
因此,您必须注释一个方法,而不是变量。您的代码必须类似于:
class Lecture {
Teacher t1 = new Teacher()
Teacher t2 = new Teacher()
Teacher t3 = new Teacher()
private Teacher teacher
@PlanningVariable(valueRangeProviderRefs = ["teacherRange"])
Teacher getTeacher(){
teacher
}
void setTeacher(Teacher teacher){
this.teacher=teacher
}
@ValueRangeProvider(id = "teacherRange")
public List<Teacher> getTeacherRange() {
[t1, t2, t3]
}
}发布于 2018-09-28 13:29:42
我不确定当您说要“更新分配给教师的教师”时您指的是什么,但是如果您想更改变量或问题事实的属性之一,请查看ProblemFactChange。
https://stackoverflow.com/questions/52553322
复制相似问题