gpt4 book ai didi

java - 有没有办法让 A 的子类 B 被强制转换为 A

转载 作者:行者123 更新时间:2023-11-30 01:41:37 26 4
gpt4 key购买 nike

我已经编写了一些通用代码来操作不同类型的数据,但我在处理数字数据时遇到了困难。

我有一个像这样的类布局:

public abstract class A<Number> {
.
.
.
}

public class B extends A<Double>{
.
.
.
}

但是,我无法使用 B作为A<Number> ,尽管 BA<Double> 的子类,它应该是 A<Number> 的子类.

我错过了什么?正确的做法是什么?

最佳答案

B不可能是A<Number>因为如果你有一个类似于 void doSomething(T) 的方法那么它不会接受 Integer (而 T returnSomething 可以工作,因为 Double 可分配给 Number )。

可以分配 BA<? extends Number> , 然而。这意味着“泛型类型是 Number某种未知子类型”,这通常是您所需要的。

关于java - 有没有办法让 A<Number> 的子类 B<Double> 被强制转换为 A<Number>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59748646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com