我正在使用Jerkson,我需要检查一个给定的类是否可以序列化。 java版本只需要一个类,但是jerkson这样做:
def canSerialize[A](implicit mf: Manifest[A]) = mapper.canSerialize(mf.erasure)
鉴于我有一个实例,我怎么称呼这个?我差点试过
canSerialize[ClassManifest.fromClass(foo)]
但它不起作用。我想知道为什么jerkson的人不能通过这样做来简化:canSerialize(Class [_])...
关于如何调用此内容的任何想法?
编辑:
我使用以下方法解决了这个问题:
canSerilialize(Manifest.classType(foo.getClass))
答案 0 :(得分:3)
这个怎么样:
canSerialize[Foo]
编译器可以自动为您生成清单(如果它在上下文中有足够的类型信息)
由于Scala 2.8.0 canSerialize
可以通过上下文绑定编写。见more
答案 1 :(得分:0)
如果您事先不知道该课程,您可以随时将清单作为参数传递,即这应该有效:canSerialize( Manifest.classType( foo.getClass ) )
。