我有一个通用类 A<T>
子类 B 扩展 A<String>
。
类 A 有一个返回 this 的方法(因此是 A<T>
)。
问题是,如果我在 B 对象上调用该方法,它将返回 A<String>
我必须转换为 B,但 B 与 A<String>
相同,不是吗?所以我不必转换...
最佳答案
如果你的方法返回A<String>
它可以是 B
类型的对象但不一定如此!
如果您有 car
类型的父类(super class)和BMW extends car
.
考虑一家制造汽车的工厂。 该方法返回汽车 - 这可以是一辆宝马,但不一定是一辆宝马。
关于Java 泛型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973046/