我正在尝试将一堆 com.mongodb.DBObject 对象加载到 Vaadin BeanItemContainer 以显示在表格中。我陷入了将构造函数从 Java 转换为 Scala 的问题。
构造函数定义为:
BeanItemContainer(Class<? extends BT> type)
这通过了 scala 编译器:
val bic = new BeanItemContainer(Class.forName("com.mongodb.DBObject"))
但是,当我尝试添加一个项目时:
mtl.toArray.foreach {t => bic.addBean(t)}
我收到以下错误:
[ERROR]com/sentientswarm/traderdashboard/UploadTradesWindow.scala:140: error: type mismatch;
found : t.type (with underlying type com.mongodb.DBObject)
required: ?0 where type ?0
mtl.toArray.foreach {t => bic.addBean(t)}
有什么想法/建议吗?
更新:
尝试:
val bic: BeanItemContainer[DBObject] = new BeanItemContainer(Class.forName("com.mongodb.DBObject"))
结果:
[ERROR]com/sentientswarm/traderdashboard/UploadTradesWindow.scala:140: error: type mismatch;
found : java.lang.Class[?0(in value bic)] where type ?0(in value bic)
required: java.lang.Class[_ <: com.mongodb.DBObject]
val bic: BeanItemContainer[DBObject] = new BeanItemContainer(Class.forName("com.mongodb.DBObject"))
^
谢谢,约翰