2012-07-19 104 views
2

long类型值的数组 - long[]转换为Long对象 - Long[]的数组的最有效方法是什么?将long []转换为Long []的最有效方法

+1

它永远不会非常高效...... – 2012-07-19 10:00:30

+0

它可能会为每个昂贵的元素创建一个新对象。这最好的事情是避免首先要做到这一点。 – 2012-07-19 10:55:26

回答

5

愚蠢的方式。

Long[] result = new Long[array.length]; 
for (int i = 0; i < array.length; i++) { 
    result[i] = array[i]; 
} 

没有其他更好的方法。抱歉。

(为什么你需要做到这一点,我可能会问,如果我们知道你为什么需要这些盒装的有可能是更好的选择?)

+0

不要道歉,这不是你的错。 ;-)) 谢谢 ! – hsz 2012-07-19 09:54:11

+0

我有一个util泛型方法,所以我不能使用基本类型。 – hsz 2012-07-19 09:55:52

+2

hsz,我想这个问题更多的是建议你不要在数组级别转换,但可能直接从使用站点的原始'long'转换。 – 2012-07-19 09:58:22

2

你应该尝试的Apache公地 - ArrayUtils

static java.lang.Long[] toObject(long[] array) 
+0

当然,这在内部完全是一回事。 – 2012-07-19 09:55:04

+1

@LouisWasserman Checked,你的解决方案实际上** ** **'ArrayUtils',因为他们无条件地实例化Long。 – 2012-07-19 09:56:37

0

没有iteration这是不可能的。您将明确地将它们包装在Long中使用autoboxing

相关问题