[解決済み] Scala 型パラメーターの classOf
2023-07-06 21:22:46
質問
scala / javaを使用してオブジェクトの更新のための汎用メソッドを作成しようとしていますが、型パラメータのためのクラスを取得することができません。
以下は私のコードです。
object WorkUnitController extends Controller {
def updateObject[T](toUpdate: T, body: JsonObject){
val source = gson.fromJson(body, classOf[T]);
...
}
}
エラーは
クラスタイプは必要ですが、Tが見つかりました。
javaでできないのは知っていますが、scalaでは全くできないのでしょうか?
ありがとうございます!
どのように解決するのですか?
原因 マニフェスト は 非推奨 (Scala 2.10.0以降)これは更新された回答です。
import scala.reflect.ClassTag
import scala.reflect._
object WorkUnitController extends Controller {
def updateObject[T: ClassTag](toUpdate: T, body: JsonObject){
val source = gson.fromJson(body, classTag[T].runtimeClass)
???
}
}
を使用する必要があります。
ClassTag
の代わりに
ClassManifest
であり
.runtimeClass
の代わりに
.erasure
オリジナルの回答 はい、マニフェストを使用してそれを行うことができます。
object WorkUnitController extends Controller {
def updateObject[T: ClassManifest](toUpdate: T, body: JsonObject){
val source = gson.fromJson(body, classManifest[T].erasure);
...
}
}
関連
-
[解決済み] private[this] vs private
-
[解決済み] リスト[Option]からNoneを除外するには?
-
[解決済み] Scalaにおけるparam: _*の意味とは?
-
[解決済み] Scalaのcaseクラスを宣言することのデメリットは何ですか?
-
[解決済み] 関数型プログラミング(特にScalaとScala API)におけるreduceとfoldLeft/foldの違いとは?
-
[解決済み] アブストラクトオーバーとはどういう意味ですか?
-
[解決済み] フォールドの早期中止
-
[解決済み] タプルのリストをマップに変換する (重複するキーに対処する?)
-
[解決済み] ScalaTestでカスタム失敗メッセージを表示するには?
-
[解決済み] Scalaで使える数学・統計のライブラリはありますか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リスト[Option]からNoneを除外するには?
-
[解決済み] Scala の private と protected コンストラクタ
-
[解決済み] Scalaにおけるval-mutableとvar-immutableの比較
-
[解決済み] Apache SparkでDataframeのカラム値をListとして抽出する。
-
[解決済み] Scalaです。ScalaのコレクションにおけるTraversableとIterableの違いは何ですか?
-
[解決済み] Scala型プログラミングリソース
-
[解決済み] ScalaにおけるNull/Nothing/Unitの使用法
-
[解決済み] Scala における => と () => の意味 [重複].
-
[解決済み] flatMap/Map変換のfor-comprehensionで迷う。
-
[解決済み] ケースクラスのコンパニオンでapplyをオーバーライドする方法