0

私は自分のプロジェクトでこのユーティリティをよく書きます:

def instance[T](implicit m: Manifest[T]) =
    m.erasure.newInstance.asInstanceOf[T]

標準ライブラリにある可能性のあるもののように見えますが、見つけることができませんでした。私はそれを逃しましたか?そうでない場合は、それを追加する力がありません:)

編集

T が引数のないコンストラクターを欠いている場合の実行時例外が受け入れられない場合は、定義できます

def maybeInstance[T:Manifest] = try Some(instance[T]) catch {case _ => None}

基になるinstance関数を非公開にする可能性があります。ただし、除算や多くのネットワーク操作など、多くの標準関数が実行時例外をスローします。

4

0 に答える 0