【发布时间】:2016-08-16 10:55:37
【问题描述】:
我有一个泛型类 A<T> 和一个子类 B 扩展 A<String>。
类 A 有一个返回 this 的方法(所以是 A<T>)。
问题是,如果我在 B 对象上调用该方法,它将返回 A<String>,我必须强制转换为 B,但 B 与 A<String> 相同,不是吗?所以我不应该投...
【问题讨论】:
-
是
porsche和每个car一样吗? -
请出示您的代码...听起来您可以使用协变返回类型。
-
您需要return SELF 模式。这有点难看,但有效。这是curiously recurring template pattern 的一个示例。
标签: java generics types casting