一千萬個為什麽

搜索

Scala 2.8中的classOf []與2.7不同嗎?

我有一個Java接口

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

它在Scala中繼承

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

它適用於Scala 2.7.7。但在2.8.0.RC1,我明白了

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

如何在Scala 2.8中獲取 java.lang.Class

最佳答案

嘗試將 getType()的返回類型註釋為 java.lang.Class 。這裏的問題是你在界面上使用原始類型,原始類型實際上不適用於Scala。

轉載註明原文: Scala 2.8中的classOf []與2.7不同嗎?