- java.lang.Object
-
- java.lang.reflect.Array
-
public final class Array extends Object
Array
类提供静态方法来动态创建和访问Java数组。Array
允许在获取或设置操作期间扩大转换,但如果发生缩小转换,则抛出IllegalArgumentException
。- 从以下版本开始:
- 1.1
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 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(Class<?> componentType, int length)
创建具有指定组件类型和长度的新数组。static Object
newInstance(Class<?> 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(Class<?> componentType, int length) throws NegativeArraySizeException
创建具有指定组件类型和长度的新数组。 调用此方法相当于创建一个数组,如下所示:int[] x = {length}; Array.newInstance(componentType, x);
新数组的维数不能超过255。
- 参数
-
componentType
- 表示新数组的组件类型的Class
对象 -
length
- 新数组的长度 - 结果
- 新数组
- 异常
-
NullPointerException
- 如果指定的componentType
参数为空 -
IllegalArgumentException
- 如果componentType为Void.TYPE
或者请求的数组实例的维数超过255。 -
NegativeArraySizeException
- 如果指定的length
为负数
-
newInstance
public static Object newInstance(Class<?> componentType, int... dimensions) throws IllegalArgumentException, NegativeArraySizeException
创建具有指定组件类型和尺寸的新数组。 如果componentType
表示非数组类或接口,则新数组具有dimensions.length
维和componentType
作为其组件类型。 如果componentType
表示数组类,则新数组的维数等于dimensions.length
和维数componentType
。 在这种情况下,新阵列的组件类型是组件类型componentType
。新数组的维数不能超过255。
- 参数
-
componentType
- 表示新数组的组件类型的Class
对象 -
dimensions
- 表示新数组的维度的数组int
- 结果
- 新数组
- 异常
-
NullPointerException
- 如果指定的componentType
参数为空 -
IllegalArgumentException
- 如果指定的dimensions
参数是零维数组,如果componentType为Void.TYPE
,或者请求的数组实例的维数超过255。 -
NegativeArraySizeException
- 如果指定的dimensions
参数中的任何组件为负。
-
getLength
public static int getLength(Object array) throws IllegalArgumentException
返回指定数组对象的长度,如int
。- 参数
-
array
- 数组 - 结果
- 数组的长度
- 异常
-
IllegalArgumentException
- 如果对象参数不是数组
-
get
public static Object get(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值。 如果该对象具有原始类型,则该值将自动包装在对象中。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的(可能包装的)值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度
-
getBoolean
public static boolean getBoolean(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如boolean
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素不能通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getByte
public static byte getByte(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中索引组件的值,如byte
。- 参数
-
array
- 数组 -
index
- 指数 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素不能通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getChar
public static char getChar(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如char
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素不能通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getShort
public static short getShort(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如short
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素不能通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getInt
public static int getInt(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如int
。- 参数
-
array
- 数组 -
index
- 指数 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素不能通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getLong
public static long getLong(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如long
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素不能通过标识或扩展转换转换为返回类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getFloat
public static float getFloat(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如float
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
IllegalArgumentException
- 如果指定的对象不是数组,或者索引元素无法通过标识转换为返回类型或扩展转换 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
get(java.lang.Object, int)
-
getDouble
public static double getDouble(Object array, int index) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
返回指定数组对象中的索引组件的值,如double
。- 参数
-
array
- 数组 -
index
- 索引 - 结果
- 指定数组中的索引组件的值
- 异常
-
NullPointerException
- 如果指定的对象为空 -
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
- 如果指定的对象参数为空 -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者数组组件类型是原始的,并且展开转换失败 -
ArrayIndexOutOfBoundsException
-如果指定index
参数为负,或者如果它是大于或等于指定的数组的长度
-
setBoolean
public static void setBoolean(Object array, int index, boolean z) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
将指定数组对象的索引组件的值设置为指定的boolean
值。- 参数
-
array
- 数组 -
index
- 数组中的索引 -
z
- 索引组件的新值 - 异常
-
NullPointerException
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
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
- 如果指定的对象参数为空 -
IllegalArgumentException
- 如果指定的对象参数不是数组,或者指定的值不能通过标识或原始加宽转换转换为底层数组的组件类型 -
ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度 - 另请参见:
-
set(java.lang.Object, int, java.lang.Object)
-
-