2017-07-13 39 views
0

我開發階2.11.8的情況下類這樣的:的隱式轉換的結果類型必須更具體大於AnyRef

case class MyClass(nameAttribute: String, get:() => Object) 

在第二個參數我不能代替對象,因爲我放置函數具有不同的返回類型。 如果我實例化這條線,我得到了錯誤的標題:

MyClass("MyAttribute_Long",() => 1l) 

我得到兩個錯誤,這條線:

type mismatch; 
found : Long(1L) 
required: Object 
       MyClass("MyAttribute_Long",() => 1l), 

the result type of an implicit conversion must be more specific than AnyRef 
       MyClass("MyAttribute_Long",() => 1l), 

你有什麼想法?謝謝

回答

3

FYI Object的Scala等價物是AnyRef。你可以在你的案例中使用一個類型參數。

case class MyClass[T](nameAttribute: String, get:() => T) 
+0

謝謝,這就是我一直在尋找:) –