2017-07-13 2 views
0

より具体的にする必要があります結果の型は、私がこのようにScalaの2.11.8にケースクラスを開発AnyRef

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

私は置くので、私は、2番目のパラメータでオブジェクトを置き換えることはできません異なる戻り値の型を持つ関数 私は私がタイトルにエラーが発生します。この行をインスタンス化した場合:

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

私はこのラインのための2つのエラーを取得:

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

ありがとう、これは私が探していたものです:) –

関連する問題