2017-04-05 102 views
0

我有一個數組列表,我想將此數組列表轉換爲int []。 我該怎麼做? 這是我的功能,該返回的ArrayList如何將數組列表<double>轉換爲int []

globalClass.allTrips.get(extras.getInt("position")).getItemsCostCategory(); 
+0

到目前爲止您嘗試過什麼?數組列表包含什麼? –

+0

在'ArrayList'中使用'toArray()' - 這將返回一個'Integer []' –

+1

你可以在這裏參考:http://stackoverflow.com/questions/960431/how-to-convert-listinteger-to- int-in-java –

回答

0

您可以通過分配int[],其大小與輸入列表相同做到這一點,那麼1 * 1在輸入列表中的值複製到結果列表當你走時,你可以鑄造到int

ArrayList<Double> values = new ArrayList<Double>(); 
values.add(1.0); 
values.add(2.0); 
values.add(3.0); 

int[] values2 = new int[values.size()]; 
for (int i = 0; i < values.size(); i++) { 
    values2[i] = values.get(i).intValue(); 
} 
+1

謝謝你,它的工作! –

0

試試這個:

ArrayList<double> arrList = new ArrayList<double>(); 
arrList.add(2.5); 
arrList.add(1.6); 
double[] doubleArr = arrList.toArray(new double[arrList.size()]); // double arrayList to double[] 
int[] intArr = new int[doubleArr.length]; // create int[] in the same size as the double[] 
for (int i = 0 ; i < intArr.length ; i++) // fill the int[] with the double[] values ' of course with parse to int[] 
{ 
    intArr[i] = (int)doubleArr[i]; 
} 

但是當你解析雙爲int remmember,你將失去你十進制值

1.6 => 1

2.5 => 2