Array — 배열 동적 생성·접근 유틸리티 클래스

Array — 배열 동적 생성·접근 유틸리티 클래스

Array 클래스는 자바 배열을 동적으로 생성하고 접근하는 정적 메서드를 제공해요. Arrayget이나 set 연산 중 확대 변환(widening conversion)을 허용해요. 그러나 축소 변환(narrowing conversion)이 발생하면 IllegalArgumentException을 던져요. 이 클래스는 런타임에 배열의 타입을 몰라도 리플렉션으로 배열을 다룰 때 사용돼요.

출처: Java API Reference

본문

public static Object newInstance(Class<?> componentType, int length) throws NegativeArraySizeException — 지정된 컴포넌트 타입과 길이를 가진 1차원 배열을 만들어요.

public static Object newInstance(Class<?> componentType, int... dimensions) throws IllegalArgumentException, NegativeArraySizeException — 지정된 컴포넌트 타입과 차원을 가진 다차원 배열을 만들어요. 차원이 0 또는 음수이면 NegativeArraySizeException을 던져요.

public static int getLength(Object array) throws IllegalArgumentException — 배열의 길이를 반환해요. 인자가 배열이 아니면 IllegalArgumentException을 던져요.

public static Object get(Object array, int index) — 배열의 지정된 인덱스 요소를 반환해요. 실제 요소 타입에 맞게 기본 타입이 박싱되어 반환돼요.

getBoolean / getByte / getChar / getShort / getInt / getLong / getFloat / getDouble — 각각 배열의 지정된 인덱스 요소를 해당 기본 타입 값으로 반환해요. 요소 타입이 기대 타입과 호환되지 않으면 IllegalArgumentException을, 인덱스가 범위를 벗어나면 ArrayIndexOutOfBoundsException을 던져요.

set(Object array, int index, Object value) — 배열의 지정된 인덱스 요소를 주어진 값으로 설정해요. 값이 배열 요소 타입과 호환되지 않으면 IllegalArgumentException을 던져요.

setBoolean / setByte / setChar / setShort / setInt / setLong / setFloat / setDouble — 각각 배열의 지정된 인덱스 요소에 해당 기본 타입 값을 설정해요.

이 클래스의 모든 메서드는 배열 인수가 배열이 아니면 IllegalArgumentException을 던져요. 기본 타입 배열 요소를 get으로 읽으면 박싱되어 반환되고, set으로 쓸 때는 언박싱되어 저장돼요.

더 알아보기 (Learn more)