Java 类继承覆盖列表字段

我面临一个问题,我有一个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;

}

如果我删除List<>但我真的需要它,它会起作用。对于 getter/setter,我使用lombok @Data注释。


有人有解决办法吗?


我想同样的问题会随着Map<> 出现,所以我也需要一个解决方案。


感谢您的回答。


肥皂起泡泡
浏览 211回答 2
2回答

慕村225694

您可以使用泛型。喜欢class B<T extends A> {&nbsp; &nbsp;List<T> codes;}class CustomB extends B<CustomA> {&nbsp; &nbsp; ...}

函数式编程

实现这项工作的唯一方法是泛型。对于您生成的代码, 的实例CustomB可能始终包含对列表中A实例的引用codes。您无法在不触及B.由于这在您的情况下是不可能的,您必须找到一种解决方法。一条路可走,可以定义自定义,命名不同的吸气剂(不含龙目岛),仅返回那些元素codes是实例CustomB。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java