【发布时间】:2012-03-09 19:46:00
【问题描述】:
以下代码在 C# 中工作:
public void DoSomething(float[][] array){
for (int i = 0; i < array.GetLength(0); i++)
{
int len = array[0].length;
double[] copy = new double[len];
Array.Copy(array[i], copy, len);
...
}
}
我正在尝试将其转换为 Java。我试过这个:
public void DoSomething(float[][] array){
for (int i = 0; i < array[0].length; i++)
{
int len = array[0].length;
double[] copy = new double[len];
copy = Arrays.copyOf(array[i], len);
...
}
}
但我收到错误消息:
类型不匹配:无法从 float[] 转换为 double[]
我该怎么做才能让它在 Java 中工作?
【问题讨论】:
-
定义“产生不同的结果”。与 什么 不同?
-
请注意,它也不是在 C# 中进行转换。这是一个转换。来自 .NET docs for
Array.Copy(Array, Array, int):“类型兼容性定义如下:[...] 如果从源类型复制到目标类型是扩大转换,则两种内在(预定义)值类型是兼容的。[...]有关转化的更多信息,请参阅Convert.ToDouble(float)"
标签: java arrays type-conversion