我读了一个int数组不能转换为double []:Casting Don't Work int[] to double[], 17 Oct
的地方我遇到了类似的障碍,试图将双精度数组转换为double []。我怀疑这是同一个问题。
我想更好地理解这个限制。这是对所有集合的一般限制,还是仅限于数组?是否存在限制的根本原因,或者只是需要解决的问题?
我有一个类,它创建一个表示输入信号的双精度数组。我将该类的实例传递给一个类来计算信号的FFT。我正在使用的FFT类需要一个double []参数。由于我将输入数组创建为double [],我似乎应该能够将其转换为。[/ p>
答案 0 :(得分:1)
尝试将双精度数组转换为double []
Java中没有“数组双打对象”这样的东西。 double[],
有Double[],
,Object[]
元素为Doubles.
如果底层类型确实是Double[],
,则可以在最后两个方向之间进行投射,但不能在第一个和其他任何一个之间投射。
答案 1 :(得分:0)
这里解释了问题Why covariance and contravariance do not support value type。协方差和逆变不适用于值类型。但是,您可以使用linq强制执行强制转换。