我需要在 Scala 中编写一个函数,该函数返回一个用 AvroOutputStream 序列化的字节数组,但是在 scala 中我无法获取我在输入中传递的通用对象的类。这是我的实用程序类:
class AvroUtils {
def createByteArray[T](obj: T): Array[Byte] = {
val byteArrayStream = new ByteArrayOutputStream()
val output = AvroOutputStream.binary[T](byteArrayStream)
output.write(obj)
output.close()
byteArrayStream.toByteArray()
}
}
如您所见,如果您测试此代码是 AvroOutputStream 无法识别 T 类,因此它无法为其生成模式。希望你能帮忙!谢谢
PS:已经尝试过使用 TypeTag 和 ClassTag,没有任何效果。