我使用包装类 Short 的 ArrayList 。
添加一些值后,我想获得原始数组,但似乎没有办法使用函数toArray(Object[] array)
,因为它需要一个带有包装类的 Array 。
是否有其他方式没有使用for或类似的东西?
答案 0 :(得分:5)
Apache Commons / Lang有一个定义这些方法的类ArrayUtils。
toObject()
的方法都从原始数组转换为包装数组。toPrimitive()
从包装器对象数组转换为原始数组我认为,您需要ArrayUtils's
toPrimitive()
public static short[] toPrimitive(Short[] array)
将对象Shorts数组转换为基元。
答案 1 :(得分:2)
尝试org.apache.commons.lang.ArrayUtils
的{{1}}方法。
答案 2 :(得分:1)
您可以自己填充阵列:
ArrayList<Short> shorts = ...;
short shortArray[] = new short[shorts.size()];
for (int i = 0; i < shorts.size(); i++)
shortArray[i] = shorts.get(i);
请注意,我在分配行中使用了自动装箱。