【发布时间】:2011-03-11 22:43:10
【问题描述】:
我在 Scala 中使用 Drools Planner(用 Java 编写)时遇到问题。 Drools 规划器中的接口之一声明为:
public interface Score<S extends Score> extends Comparable<S>
但是另一个接口使用'Score'作为原始类型:
public interface Solution {
Score getScore();
那我想在 Scala 中实现这个接口:
class MySolution extends Solution {
def getScore: Score = ...
我得到一个编译错误:Scala 编译器不允许只写 'def getScore: Score'。当我尝试添加 'Score[_]' 或 'Score[whatever]' 时,编译器会抱怨类型不兼容。我该怎么办?
【问题讨论】:
-
能否把类型兼容性错误的全文也贴出来?
-
有趣的案例。 Adam Warski 在用户邮件列表上也发布了类似的问题。我们应该在 Drools Planner 源代码中解决这个问题。我创建了这个问题来跟踪它:issues.jboss.org/browse/JBRULES-2924
-
谢谢。但是,我也希望 Scala 对此提供一些支持。 Drools Planner 可能不是唯一存在此问题的库。
-
Drools Planner 的开发者应该修复他们的代码。甚至 Sun/Oracle 也做蠢事的相关示例:lampsvn.epfl.ch/trac/scala/ticket/3634
标签: java scala drools drools-planner