我正在使用 Apache thrift,它生成如下所示的 Java 类:
public class MyEvent implements org.apache.thrift.TBase<MyEvent, MyEvent._Fields>
我想创建一个容器类,它采用实现 TBase 的泛型。我想编写如下代码:
(科特林)
val msg = MyContainer<MyEvent>()
但是,我不能这样做class MyContainer<T: TBase>
,因为我需要填写 TBase 的两个参数,我做了这样的事情:
class MyContainer<T: TBase<T,F>, F: TFieldIdEnum>
但是,这需要我编写如下代码:
val msg = MyContainer<MyEvent, MyEvent._Fields>()
我想这是可行的,否则可以让我获得我需要的功能,但无论如何我可以更简洁地告诉 java “我需要一个 T 来实现 TBase 类型 T 和 T._Fields”,所以我可以做吗val msg = MyContainer<MyEvent>()
?
守着一只汪
相关分类