我面临一个问题,我有一个avro生成类A和另一个B定义如下:
class A {
String code;
}
class B {
String someString;
List<A> codes;
}
以及扩展前面描述的两个生成的类的自定义类,如下所示:
class CustomA extends A {
String type;
}
class CustomB extends B {
List<CustomA> codes;
}
如果我删除列表<>,它就会起作用,但我确实需要它。 对于 getter/setter,我使用 lombok @Data 注释。
有人有解决方案吗?
我想 map <>也会遇到同样的问题,所以我也需要一个解决方案。
感谢您的回答。
[编辑] 所以我将用下面这两个屏幕截图给出更具体的例子。
Here my classes declarations 。正如我之前所说,类 A 和 B(此处为 User 和 ToDoItem)是由 avro 模式生成的类,因此我无法在其中修改/写入。 Here the compilation errors I have .
最佳答案
您可以使用泛型。喜欢
class B<T extends A> {
List<T> codes;
}
class CustomB extends B<CustomA> {
...
}
关于Java类继承覆盖List字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53021915/