私は自分のプロジェクトでこのユーティリティをよく書きます:
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
関数を非公開にする可能性があります。ただし、除算や多くのネットワーク操作など、多くの標準関数が実行時例外をスローします。