我有一段来自java的代码,我试图在scala中实现。
java代码,工作正常。
protected byte[] serialize(final TBase<?, ?> base) {
try {
return new TSerializer(new TCompactProtocol.Factory()).serialize(base);
} catch (final TException e) {
throw new RuntimeException(e);
}
}
scala代码我很想实现。
def serialize(base: TBase[_,_]): Array[Byte]={
try{
return new TSerializer(new TCompactProtocol.Factory()).serialize(base)
}catch {
case ex: TException => {
throw new RuntimeException(ex.getMessage())
}
}
}
编译器没有给我一个错误"type mismatch; found : org.apache.thrift.TBase[_$1,_$2] where type _$2, type _$1 required:
org.apache.thrift.TBase[_ <: org.apache.thrift.TBase[_, _], _ <: org.apache.thrift.TFieldIdEnum]"
我环顾四周,其中一个建议是使用和 some and none 类型。但不确定这是正确的做法。有人可以帮我弄这个吗。