有人会这样写代码:
int[] intArray = (int[]) Array.newInstance(int.class, 3);
Array.set(intArray, 0, 123);
Array.set(intArray, 1, 456);
Array.set(intArray, 2, 789);
System.out.println("intArray[0] = " + Array.get(intArray, 0));
System.out.println("intArray[1] = " + Array.get(intArray, 1));
System.out.println("intArray[2] = " + Array.get(intArray, 2));
我想问为什么我需要像这样修改一个数组而不是:
intArray [0] = 123;
intArray [1] = 456;
intArray [2] = 789;
您提供的代码背后没有动机,所有这些都可以由本机数组语法代替。的Array
类只对阵列的一个通用处理其组件类型是在编译时未知的是有用的。
一个简单的示例可能是解析某些有线格式,其中您可能具有诸如以下的辅助方法:
public Object toArray(Class<?> componentType, int size, Parser p) {
Object array = Array.newInstance(componentType, size);
for (int i = 0; i < size; i++)
Arrays.set(array, i, p.nextItem());
return array;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句