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