下面的代码在C#中:相当于Java C#Array.Copy
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 []转换翻番[]
我能做些什么,使之在Java中工作?
定义“产生不同的结果”。不同于*什么*确切? – Bohemian 2012-03-10 08:21:11
请注意,它不是在C#中投射。这是一个转换。从.NET [文档Array.Copy(Array,Array,int)'](http://msdn.microsoft.com/en-us/library/k4yx47a1.aspx):“类型兼容性定义如下: [...]如果从源类型到目标类型的复制是扩展转换,则两个内置(预定义)值类型是兼容的[...]有关转换的更多信息,请参见[Convert.ToDouble(float) ](http://msdn.microsoft.com/en-us/library/kc01y017.aspx)“ – 2013-11-04 13:26:52