Java 奇技淫巧

数组 Array

java.lang.reflect.Array 中提供了几个实用方法,用来动态创建和使用 java 数组,其实现基本都是 Native 方式

1. newInstance

Array.newInstance(Class<?> componentType, int length),使用提供的类型和长度来创建一个数组

1
2
// 创建长度为5的字符串数组
Array.newInstance("hello".getClass(), 5);

2. set

Array.set(Object array, int index, Object value),向指定数组的下标位置添加一个元素。还有许多指定类型的添加方法,如 setIntsetDoublesetChar

1
2
3
4
5
// 向数组中指定下标添加元素
String[] array = ...;
for (int i = 0; i < 5; i++) {
Array.set(array, i, "hello");
}

3. get

Array.get(Object array, int index),获取指定位置的元素。还有许多指定类型的添加方法,如 getIntgetDoublegetChar

1
2
3
// 获取指定元素
String[] array = ...;
Array.set(array, 1);