【发布时间】:2018-11-29 23:16:06
【问题描述】:
我收到一条错误消息,提示“org.moeaframework.core.Solution 无法转换为 SensorsSolution”。 SensorsSolution 是一个扩展解决方案的类。 教育部是否允许这样做?这是推荐的做法吗?
我扩展它的原因是因为我需要每个人来存储有关传感器位置的信息。 在评估了此类的属性 HashMap 的使用并意识到每次评估后它的数据都会被擦除后,我认为这是最好的选择。但现在我正面临这个问题。
以下是错误行对应的代码:
@Override
public void evaluate(Solution solution) {
System.out.println("class= "+solution.getClass()); //Returning "class SensorsSolution"
SensorsSolution sensorsSolution = (SensorsSolution) solution;
...
}
谢谢。
【问题讨论】:
-
没有任何代码很难提供帮助。但是,您似乎尝试将解决方案或派生类(not SensorSolution 转换为 SensorSolution )。我建议您打印出您尝试投射的对象的完整类名,
-
好的,我将添加一些代码和类名的输出。谢谢!
-
@Maksim 完成了!
-
你能把你的代码改成
System.out.println("class= "+solution.getClass().getCanonicalName())吗?因为可能有一个类同名但包不同...
标签: java evolutionary-algorithm moea-framework