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