下面的代碼在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