在Java中将int []数组转换为short []数组

Rog*_*ews 4 java arrays

我有一个int数组,我已经为100个元素分配了空间.还有另一个阵列inShort[].我怎样才能转换inInt[]inShort[]

是否有必要分配新的内存,inShort[]或者有一种方法可以投射到inInt[]

int inInt[] = new int[100];
short inShort[];
Run Code Online (Sandbox Code Playgroud)

Kir*_*ril 11

short inShort[] = new short[100];

for(int i = 0; i < 100; i++)
{
    inShort[i] = (short)inInt[i];
}
Run Code Online (Sandbox Code Playgroud)

但是,如果int超出空头的范围(即小于-32,768或大于32,767),则很可能溢出空头.实际上很容易溢出空头,因为int范围从-2,147,483,648到2,147,483,647.