我有一个类属性,它是一个function LowestAndSecondLowest(arr_num)
{
arr_num.sort(function(x,y)
{
return x-y;
});
var uniqa = [arr_num[0]];
var result = [];
for(var j=1; j<arr_num.length; j++)
{
if(arr_num[j-1] !== arr_num[j])
{
uniqa.push(arr_num[j]);
}
}
result.push("First smallest: "+uniqa[uniqa.length-arr_num.length],"second smallest: "+uniqa[1]);
return result.join(' & ');
}
document.write(LowestAndSecondLowest([4,5,6]));
内置数组。在某些时候我需要重新分配它的内存以使其加倍,但由于它是Anytype
,我无法做到:
Anytype
由于数组已经定义,我可以访问它的元素类:
myArray = new Anytype[myArray.length * 2];
我的问题是:我可以使用我知道我的数组类来重新分配它的事实吗?我知道我可以使用Java utils中的myArray[0].getClass();
,但我想知道是否可以重新分配知道对象需要的大小,类似C-way :
Arrays.copyOf
P.S:我不确定标题是否相关,如果你有更清楚的话,请告诉我
答案 0 :(得分:1)
是的,像这样(假设source不为null或为空):
public <T> T[] resizeArray(T[] source, int multiplier) {
T[] newArray = (T[]) Array.newInstance(source.getClass().getComponentType(), source.length * multiplier);
System.arraycopy(source, 0, newArray, 0, source.length);
return newArray;
}
这两种:
返回元素类。