转换java代码包含scala的泛型

时间:2014-03-19 08:29:56

标签: java scala generics

我尝试转换一些javaFX默认示例,即如何使用TableCellFactory。在该样本中有一些通用(带问号)。我尝试使用此代码的eclipse默认转换器转换该代码:

this.invited.addListener(new ChangeListener<Boolean>() {
    public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
        System.out.println(firstNameProperty().get() + " invited: " + t1);
    }
}); 

成为这个:

this.invited.addListener(new ChangeListener[Boolean]() {

  def changed(ov: ObservableValue[_ <: Boolean], t: java.lang.Boolean, t1: java.lang.Boolean) {
    println(firstNameProperty().get + " invited: " + t1)
  }

})

错误输出:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

Per serejja's comment:在类型参数中使用完全限定的java.lang.Boolean

this.invited.addListener(new ChangeListener[java.lang.Boolean]() {
  def changed(ov: ObservableValue[_ <: java.lang.Boolean], t: java.lang.Boolean, t1: java.lang.Boolean) {
    println(firstNameProperty().get + " invited: " + t1)
  }
})