我有一个辅助方法:
def controlStructure[T <: SomeObject](exceptions: Class[_]*)(body: => T) = {
try {
val tempObject = body
tempObject.callSomeMethod
Some(tempObject)
} catch {
case e if (exceptions.contains(e.getClass)) => None
}
}
调用:
controlStructure[MySomeObject](classOf[Exception]) { getMySomeObjectSomehow }
其要点是在传入的实体上调用“callSomeMethod”(例如从 ORM 加载),它也顺便将事物包装在异常处理中。
我现在想添加一个新方法,它做同样的事情,但用于 T 的集合(java.util.List)。
我不确定在方法签名中使用 T 集合的语法和结构,以及抽象类型参数定义。
谢谢你的帮助。