- java.lang.Object
-
- java.lang.reflect.Array
-
public final class Array extends Object
Array
类提供了动态创建和访问Java数组的静态方法。Array
允许在获取或设置操作期间进行加宽转换,但如果发生缩小转换,则抛出IllegalArgumentException
。- 从以下版本开始:
- 1.1
-
-
方法摘要
所有方法 静态方法 具体的方法 变量和类型 方法 描述 static Object
get(Object array, int index)
返回指定数组对象中索引组件的值。static boolean
getBoolean(Object array, int index)
返回指定数组对象中索引组件的值,如boolean
。static byte
getByte(Object array, int index)
返回指定数组对象中索引组件的值,如byte
。static char
getChar(Object array, int index)
返回指定数组对象中索引组件的值,如char
。static double
getDouble(Object array, int index)
返回指定数组对象中索引组件的值,如double
。static float
getFloat(Object array, int index)
返回指定数组对象中索引组件的值,如float
。static int
getInt(Object array, int index)
返回指定数组对象中索引组件的值,如int
。static int
getLength(Object array)
返回指定数组对象的长度,如int
。static long
getLong(Object array, int index)
返回指定数组对象中索引组件的值,如long
。static short
getShort(Object array, int index)
返回指定数组对象中索引组件的值,如short
。static Object
newInstance(类<?> componentType, int length)
创建具有指定组件类型和长度的新数组。static Object
newInstance(类<?> componentType, int... dimensions)
创建具有指定组件类型和尺寸的新数组。static void
set(Object array, int index, Object value)
将指定数组对象的索引组件的值设置为指定的新值。static void
setBoolean(Object array, int index, boolean z)
将指定数组对象的索引组件的值设置为指定的boolean
值。static void
setByte(Object array, int index, byte b)
将指定数组对象的索引组件的值设置为指定的byte
值。static void
setChar(Object array, int index, char c)
将指定数组对象的索引组件的值设置为指定的char
值。static void
setDouble(Object array, int index, double d)
将指定数组对象的索引组件的值设置为指定的double
值。static void
setFloat(Object array, int index, float f)
将指定数组对象的索引组件的值设置为指定的float
值。static void
setInt(Object array, int index, int i)
将指定数组对象的索引组件的值设置为指定的int
值。static void
setLong(Object array, int index, long l)
将指定数组对象的索引组件的值设置为指定的long
值。static void
setShort(Object array, int index, short s)
将指定数组对象的索引组件的值设置为指定的short
值。
-
-
-
方法详细信息
-
newInstance
public static Object newInstance(类<?> componentType, int length) throws NegativeArraySizeException
创建具有指定组件类型和长度的新数组。 调用此方法等效于创建数组,如下所示:int[] x = {length}; Array.newInstance(componentType, x);
新阵列的尺寸数不得超过255。
- 参数
-
componentType
- 表示新阵列的组件类型的类
对象 -
length
- 新阵列的长度 - 结果
- 新阵列
- 异常
-
NullPointerException
- 如果指定的componentType
参数为null -
IllegalArgumentException
- 如果componentType为Void.TYPE
,或者请求的阵列实例的维数超过255。 -
NegativeArraySizeException
- 如果指定的length
为负数
-
newInstance
public static Object newInstance(类<?> componentType, int... dimensions) throws IllegalArgumentException, NegativeArraySizeException
创建具有指定组件类型和尺寸的新数组。 如果componentType
表示非阵列类或接口,新阵列具有dimensions.length
尺寸和componentType
作为其成分的类型。 如果componentType
表示数组类,则新数组的维数等于dimensions.length
的总和和dimensions.length
的维componentType
。 在这种情况下,新数组的组件类型是组件类型componentType
。新阵列的尺寸数不得超过255。
- 参数
-
componentType
- 表示新阵列的组件类型的类
对象 -
dimensions
- 表示新阵列尺寸的数组int
- 结果
- 新阵列
- 异常
-
NullPointerException
- 如果指定的componentType
参数为null -
IllegalArgumentException
- 如果指定的dimensions
参数是零维数组,则componentType为Void.TYPE
,或者请求的数组实例的维数超过255。 -
NegativeArraySizeException
- 如果指定的dimensions
参数中的任何组件为负数。
-
getLength
public static int getLength(Object array) throws IllegalArgumentException
返回指定数组对象的长度,如int
。- 参数
-
array
- 数组 - 结果
- 数组的长度
- 异常
-
IllegalArgumentException
- 如果object参数不是数组
-
get
public static Object get(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值。 如果对象具有基本类型,则该值自动包装在对象中。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中索引组件的(可能包装的)值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度
-
getBoolean
public static boolean getBoolean(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如boolean
。- 参数
-
array
- 数组 -
index
- 该指数 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getByte
public static byte getByte(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如byte
。- 参数
-
array
- 数组 -
index
- 该指数 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getChar
public static char getChar(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如char
。- 参数
-
array
- 数组 -
index
- 该指数 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getShort
public static short getShort(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如short
。- 参数
-
array
- 数组 -
index
- 该指数 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getInt
public static int getInt(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如int
。- 参数
-
array
- 数组 -
index
- 该指数 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getLong
public static long getLong(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如long
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getFloat
public static float getFloat(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如float
。- 参数
-
array
- 数组 -
index
- 该指数 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getDouble
public static double getDouble(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如double
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为null -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
set
public static void set(Object array, int index, Object value) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的新值。 如果数组具有基本组件类型,则首先自动解包新值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
value
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者数组组件类型是原始的并且解包转换失败 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度
-
setBoolean
public static void setBoolean(Object array, int index, boolean z) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的boolean
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
z
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setByte
public static void setByte(Object array, int index, byte b) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的byte
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
b
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setChar
public static void setChar(Object array, int index, char c) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的char
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
c
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setShort
public static void setShort(Object array, int index, short s) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的short
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
s
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setInt
public static void setInt(Object array, int index, int i) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的int
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
i
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setLong
public static void setLong(Object array, int index, long l) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的long
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
l
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setFloat
public static void setFloat(Object array, int index, float f) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的float
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
f
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
setDouble
public static void setDouble(Object array, int index, double d) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的double
值。- 参数
-
array
- 数组 -
index
- 数组的索引 -
d
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为null -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值无法通过标识或原始扩展转换转换为基础数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负数,或者它大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
-