有没有人知道一种有效,快速和干净的方式来转换Long[]为long[]Java,反之亦然,在明显的for循环中使用(un)box©?
注意:这不是关于拆箱Long或装箱long.我明确地谈论阵列!
"没有比循环和复制更好的方法"也是一个答案;)
编辑: 我知道做上述事情的意义,最好避免它.假设,我无法避免它,并希望在不使用第三方的情况下尽可能巧妙地做到这一点.
如果您使用apache commons lang,您可以:
long[] primitive = ArrayUtils.toPrimitive(new Long[]{1L, 2L, 3L, 4L});
Run Code Online (Sandbox Code Playgroud)
没有比循环和复制更好的方法了
最好的解决方案是首先避免转换.如果你有关于使用效率,避免忧虑Long[],因为它比大很多倍long[].如果你需要使用一个集合,你可以尝试TLongArrayList它包装很长的[].