2010-04-17 52 views
3

我有一個接口,從JavaScala 2.8中的classOf []是否與2.7不同?

public class IJava 
{ 
    ... 
    public java.lang.Class getType(); 
    ... 
} 

它在斯卡拉

class CScala 
{ 
    def getType() = classOf[Foo] 
} 

繼承了它的工作斯卡拉2.7.7。但在2.8.0.RC1,我得到

type mismatch; found : java.lang.Class[Foo](classOf[Foo]) 
required: java.lang.Class 

如何在斯卡拉2.8得到java.lang.Class

回答

6

嘗試將返回類型getType()註釋爲java.lang.Class。這裏的問題是你在界面上使用原始類型,而原始類型在Scala中確實不能很好地工作。

1

註釋返回類型的java.lang.Class [美孚]

類CScala { DEF的getType():java.lang.Class中[美孚] = classOf [美孚] }

它沒問題。

但是,方法簽名被子類改變。有趣!

相關問題