我想在 Scala 中使用用 Java 编写的构造函数。
构造函数是这样声明的:
public <SUBCLASS extends Node> NodeDock(Parent<? super Node> parent, Class<SUBCLASS> cls, LookupCriteria<SUBCLASS>[] criteria) {
this(parent, cls, 0, criteria);
}
所以如果我想使用它:
val task = new NodeDock(scene.asParent(), classOf[FXTaskStackElement].asInstanceOf[Class[_]], new LookupCriteria[FXTaskStackElement]() {...}
Scala 总是给我一个错误,他找不到具有这些参数的合适的构造函数。那么我怎样才能获得 LookupCriteria 的 FXTaskStackElement 的子类呢?
编辑:在Java中,我会这样称呼这个构造函数,效果很好:
task = new NodeDock(scene.asParent(), FXTaskStackElement.class, new LookupCriteria<FXTaskStackElement>() {...})