当 Scala 的方法接受 '?0' 作为参数类型时,它期望什么值?
What scala expects as a value when it's method accepts '?0' as argument type?
我想在 vaadin
的 setValue()
和 [=14= 中传递 String
类型参数].
问题:
它显示为 def setValue(x: ?0): Unit
。这意味着它需要一些 ?0
类型的参数。
我不知道该如何处理。
如果有人能准确解释这种类型是什么、它接受什么样的值以及我如何将 String
类型参数传递给该方法,那就太好了。
注意:setValue(Object newValue)
与 java
配合使用效果很好。
这是代码片段。
def getProcessTreeContainer(): HierarchicalContainer = {
var container = new HierarchicalContainer();
container.addContainerProperty("process", classOf[java.lang.String], null)
val tc = new TableCommon();
var process_menu_data_object_list = tc.getProcessTree();
val size = process_menu_data_object_list.size()
val obj = process_menu_data_object_list.iterator()
while (obj.hasNext()) {
val key = obj.next().id
val parent_key = obj.next().family_id
var name = ""
if (key == parent_key) {
val l = obj.next().name
//println(l.toString()+"...at step 1")
println(("okiiess".asInstanceOf[String]))
var child: Item = container.getItem(container.addItem(key))
child.getItemProperty("process").setValue(l.asInstanceOf)
// arg l.asInstanceOf(), what I am passing in setValue() method, throws NullPointerException.
} else {
container.setParent(key, parent_key)
}
//println("okay...")
}
return container;
}
?0
不是数据类型,它是 Scala 编译器告诉你它不知道类型是什么。问题是 child.getItemProperty("process")
returns a raw type Property
for some reason,它在 Scala 中不受支持,也不应该在 Java 中使用(应该 return Property<?>
代替) .将其转换为 Property[String]
,因为您知道它的实际类型。
我想在 vaadin
的 setValue()
和 [=14= 中传递 String
类型参数].
问题:
它显示为 def setValue(x: ?0): Unit
。这意味着它需要一些 ?0
类型的参数。
我不知道该如何处理。
如果有人能准确解释这种类型是什么、它接受什么样的值以及我如何将 String
类型参数传递给该方法,那就太好了。
注意:setValue(Object newValue)
与 java
配合使用效果很好。
这是代码片段。
def getProcessTreeContainer(): HierarchicalContainer = {
var container = new HierarchicalContainer();
container.addContainerProperty("process", classOf[java.lang.String], null)
val tc = new TableCommon();
var process_menu_data_object_list = tc.getProcessTree();
val size = process_menu_data_object_list.size()
val obj = process_menu_data_object_list.iterator()
while (obj.hasNext()) {
val key = obj.next().id
val parent_key = obj.next().family_id
var name = ""
if (key == parent_key) {
val l = obj.next().name
//println(l.toString()+"...at step 1")
println(("okiiess".asInstanceOf[String]))
var child: Item = container.getItem(container.addItem(key))
child.getItemProperty("process").setValue(l.asInstanceOf)
// arg l.asInstanceOf(), what I am passing in setValue() method, throws NullPointerException.
} else {
container.setParent(key, parent_key)
}
//println("okay...")
}
return container;
}
?0
不是数据类型,它是 Scala 编译器告诉你它不知道类型是什么。问题是 child.getItemProperty("process")
returns a raw type Property
for some reason,它在 Scala 中不受支持,也不应该在 Java 中使用(应该 return Property<?>
代替) .将其转换为 Property[String]
,因为您知道它的实际类型。