Наследование решения OptaPlanner с помощью дженериков вызывает ошибкуJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Наследование решения OptaPlanner с помощью дженериков вызывает ошибку

Сообщение Anonymous »

У меня есть абстрактный универсальный класс решения «Foo», который наследуют мои конкретные реализации. Этот класс является универсальным и позволяет реализующему классу определить свой конкретный PlanningEntity, который расширяет "Bar".

Это заглушает optaplanner, который выдает следующую ошибку:

Свойство SolutionProperty (список) не было клонировано должным образом. FieldAccessingSolutionCloner не смог распознать поле этого свойства, вероятно, потому, что его имя поля отличается.

Я попробовал заменить «EntityType» конкретным реализующим классом, и, похоже, все работает. Однако я пытаюсь извлечь общие функциональные возможности, чтобы сократить объем обслуживания, и это не позволяет мне извлечь все общие черты.

Я также пробовал прочесать документацию OptaPlanner. Мне не удалось найти подобный пример.

Код: Выделить всё

@PlanningSolution
public abstract class Foo  implements Solution
{
protected HardMediumSoftScore score;
protected ArrayList list = new ArrayList();

@PlanningEntityCollectionProperty
public ArrayList getList()
{
return this.list;
}

@Override
public HardMediumSoftScore getScore()
{
return this.score;
}

public void setScore(HardMediumSoftScore score)
{
this.score = score;
}
}
Я ожидаю, что смогу наследовать без ошибок, вызывающих optaplanner.

Настроен ли optaplanner для обработки дженериков/наследования? Я использую версию 6.5. Есть ли более новая версия, которая лучше ее поддерживает?

Подробнее здесь: https://stackoverflow.com/questions/559 ... uses-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»