Java scala中具有通配符的类型不匹配

Java scala中具有通配符的类型不匹配,java,scala,thrift,Java,Scala,Thrift,我有一段java代码,我正试图用scala实现它 java代码,运行良好 protected byte[] serialize(final TBase<?, ?> base) { try { return new TSerializer(new TCompactProtocol.Factory()).serialize(base); } catch (final TException e) { throw new Runtime

我有一段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);
      }
}
}

编译器没有给我一个类型不匹配的错误,
;发现:org.apache.thrift.TBase[\u$1,\u$2],其中需要类型\u$2,类型\u$1:

org.apache.thrift.TBase[\up>没有进一步的信息,这个答案只是基于错误的猜测:

type mismatch; 
found : TBase[_$1,_$2] where type _$2, type _$1
required: TBase[_ <: TBase[_, _], _ <: TFieldIdEnum]
类型不匹配;
找到:TBase[$1,$2]其中类型为$2,类型为$1

必填项:TBase[;我不知道为什么它被否决了。我认为这是一个有效的问题。或者我遗漏了一些琐碎的东西。如果你发布了TBase或包含你调用的
serialize
方法的类施加的类型约束,那会更好。谢谢@pedrofurla你是对的。这个类型约束已经编译,但不确定它是否确实起作用序列化。1.你能告诉我你是如何提出约束的概念吗?通配符不应该解决这个问题吗?在requestedI更改return语句时添加了更多信息。我创建了一个var,并为其分配了返回的字节。我查看了各种相同的示例。有什么原因吗完成了。我正在查看文档。如果我找到一个有用的链接,我会发布它。
type mismatch; 
found : TBase[_$1,_$2] where type _$2, type _$1
required: TBase[_ <: TBase[_, _], _ <: TFieldIdEnum]
 def serialize(base: TBase[_ <: TBase[_,_] ,_ <: TFieldIdEnum])