본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Java] Reflection Tutorial - Array

by 돼지왕 왕돼지 2013. 12. 30.
반응형


 Java, Reflection Tutorial - Array  



java.lang.reflect.Array


array 에 대한 reflection 은 java.lang.reflect.Array 를 통해서 이루어진다. array 의 util 함수들을 가지고 있는 java.util.Arrays 와 착각하지 말자.




Creating Arrays


int[] intArray = (int[]) Array.newInstance( int.class, 3 );




Accessing Arrays


int[] intArray = (int[]) Array.newInstance( int.class, 3 );


Array.set( intArray, 0, 123 );

int a = Array.get( intArray, 0 );




Obtaining the Class Object of an Array


Class stringArrayClass = String[].class;


Class.forName() 을 사용할 때는 JVM 규칙을 따른다.


Class intArray = Class.forName( "[I" );

Class stringArray = Class.forName( "[Ljava.lang.String;" );


[L ; 을 꼭 붙여주어야 한다.







다음과 같은 방법으로 object array 를 얻을 수도 있다.


Class stringArrayClass = Array.newInstance( String.class, 0 ).getClass();




Obtaining the Component Type of an Array


Component type 은 array 를 구성하는 object 의 type 을 이야기한다.


String[] strings = new String[3];

strings.getClass().getComponentType(); // returns java.lang.String



반응형

댓글