Module java.base

Class Array


  • public final class Array
    extends Object
    The Array class provides static methods to dynamically create and access Java arrays.

    Array permits widening conversions to occur during a get or set operation, but throws an IllegalArgumentException if a narrowing conversion would occur.

    Since:
    1.1
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Object get​(Object array, int index)
      Returns the value of the indexed component in the specified array object.
      static boolean getBoolean​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a boolean.
      static byte getByte​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a byte.
      static char getChar​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a char.
      static double getDouble​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a double.
      static float getFloat​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a float.
      static int getInt​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as an int.
      static int getLength​(Object array)
      Returns the length of the specified array object, as an int.
      static long getLong​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a long.
      static short getShort​(Object array, int index)
      Returns the value of the indexed component in the specified array object, as a short.
      static Object newInstance​(Class<?> componentType, int length)
      Creates a new array with the specified component type and length.
      static Object newInstance​(Class<?> componentType, int... dimensions)
      Creates a new array with the specified component type and dimensions.
      static void set​(Object array, int index, Object value)
      Sets the value of the indexed component of the specified array object to the specified new value.
      static void setBoolean​(Object array, int index, boolean z)
      Sets the value of the indexed component of the specified array object to the specified boolean value.
      static void setByte​(Object array, int index, byte b)
      Sets the value of the indexed component of the specified array object to the specified byte value.
      static void setChar​(Object array, int index, char c)
      Sets the value of the indexed component of the specified array object to the specified char value.
      static void setDouble​(Object array, int index, double d)
      Sets the value of the indexed component of the specified array object to the specified double value.
      static void setFloat​(Object array, int index, float f)
      Sets the value of the indexed component of the specified array object to the specified float value.
      static void setInt​(Object array, int index, int i)
      Sets the value of the indexed component of the specified array object to the specified int value.
      static void setLong​(Object array, int index, long l)
      Sets the value of the indexed component of the specified array object to the specified long value.
      static void setShort​(Object array, int index, short s)
      Sets the value of the indexed component of the specified array object to the specified short value.
    • Method Detail

      • newInstance

        public static Object newInstance​(Class<?> componentType,
                                         int length)
                                  throws NegativeArraySizeException
        Creates a new array with the specified component type and length. Invoking this method is equivalent to creating an array as follows:
         int[] x = {length};
         Array.newInstance(componentType, x);
         

        The number of dimensions of the new array must not exceed 255.

        Parameters:
        componentType - the Class object representing the component type of the new array
        length - the length of the new array
        Returns:
        the new array
        Throws:
        NullPointerException - if the specified componentType parameter is null
        IllegalArgumentException - if componentType is Void.TYPE or if the number of dimensions of the requested array instance exceed 255.
        NegativeArraySizeException - if the specified length is negative
      • newInstance

        public static Object newInstance​(Class<?> componentType,
                                         int... dimensions)
                                  throws IllegalArgumentException,
                                         NegativeArraySizeException
        Creates a new array with the specified component type and dimensions. If componentType represents a non-array class or interface, the new array has dimensions.length dimensions and componentType as its component type. If componentType represents an array class, the number of dimensions of the new array is equal to the sum of dimensions.length and the number of dimensions of componentType. In this case, the component type of the new array is the component type of componentType.

        The number of dimensions of the new array must not exceed 255.

        Parameters:
        componentType - the Class object representing the component type of the new array
        dimensions - an array of int representing the dimensions of the new array
        Returns:
        the new array
        Throws:
        NullPointerException - if the specified componentType argument is null
        IllegalArgumentException - if the specified dimensions argument is a zero-dimensional array, if componentType is Void.TYPE, or if the number of dimensions of the requested array instance exceed 255.
        NegativeArraySizeException - if any of the components in the specified dimensions argument is negative.
      • getLength

        public static int getLength​(Object array)
                             throws IllegalArgumentException
        Returns the length of the specified array object, as an int.
        Parameters:
        array - the array
        Returns:
        the length of the array
        Throws:
        IllegalArgumentException - if the object argument is not an array
      • set

        public static void set​(Object array,
                               int index,
                               Object value)
                        throws IllegalArgumentException,
                               ArrayIndexOutOfBoundsException
        Sets the value of the indexed component of the specified array object to the specified new value. The new value is first automatically unwrapped if the array has a primitive component type.
        Parameters:
        array - the array
        index - the index into the array
        value - the new value of the indexed component
        Throws:
        NullPointerException - If the specified object argument is null
        IllegalArgumentException - If the specified object argument is not an array, or if the array component type is primitive and an unwrapping conversion fails
        ArrayIndexOutOfBoundsException - If the specified index argument is negative, or if it is greater than or equal to the length of the specified array