Re: [問題] Integer[] 轉成 int[]
※ 引述《naboson (不能說的秘密)》之銘言:
: 如果現在手邊有一個 Integer[] 的陣列
: 想要把它轉為 int[]
: Integer[] origin;
: int[] result = new int[origin.length];
: for(int i=0; i<result.length; i++){
: result[i] = origin[i];
: }
: 上面這個最傳統的方法也還需要線性時間
: 請問還有比線性時間更快的方法嗎?
: ( 其實是想問java還有沒有其他好用的 function 可用~ :p)
: 謝謝
如果你的專案有 Commons Lang 的 ArrayUtils
那有一個 static method:
public static int[] toPrimitive(Integer[] array) {
if (array == null) {
return null;
} else if (array.length == 0) {
return EMPTY_INT_ARRAY;
}
final int[] result = new int[array.length];
for (int i = 0; i < array.length; i++) {
result[i] = array[i].intValue();
}
return result;
}
如你所見,也只是跑個 for 迴圈罷了.
REF.
http://svn.apache.org/viewvc/commons/proper/lang/trunk/
src/java/org/apache/commons/lang/ArrayUtils.java?view=markup
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.168.161
推
05/12 16:13, , 1F
05/12 16:13, 1F
推
05/12 17:52, , 2F
05/12 17:52, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):