首页 > 基础教程 > 反射 > Reflection API
Java reflect.Array利用反射创建,填充,显示数组
java.lang.reflect.Array利用反射机制来创建并操作某种类型的数组。代码如下:
public class ArrayCreate {
public static void main(String args[]) {
// 创建一个数组
Object array = Array.newInstance(int.class, 3);
printType(array);
fillArray(array);
displayArray(array);
}
// 打印这个对象的数组类型和大小
private static void printType(Object object) {
Class < ?>type = object.getClass();
if (type.isArray()) {
Class < ?>elementType = type.getComponentType();
System.out.println("Array of: " + elementType);
System.out.println("Array size: " + Array.getLength(object));
}
}
// 填充数组
private static void fillArray(Object array) {
int length = Array.getLength(array);
Random generator = new Random(System.currentTimeMillis());
for (int i = 0; i < length; i++) {
int random = generator.nextInt();
//Sets the value of the indexed component of the specified
//array object to the specified int value.
Array.setInt(array, i, random);
}
}
private static void displayArray(Object array) {
int length = Array.getLength(array);
for (int i = 0; i < length; i++) {
int value = Array.getInt(array, i);
System.out.println("Position: " + i + ", value: " + value);
}
}
}
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。