자바 반사:배열
java.lang.reflect.Array
자바 반사 메커니즘 통과
배열 클래스 로 배열 을 처리 하고 결합 합 니 다.
java.lang.Class 클래스 는 실행 중 그룹 에 대한 정 보 를 얻 을 수 있 습 니 다.집합 가방 에 있 는 거 랑.
java.util.Arrays 구분,Arrays 클래스 는 하나 입 니 다.
배열 도구 류(정렬,배열 을 옮 겨 다 니 며 배열 을 집합 으로 변환 하 는 등).
실례 화 배열
컴 파일 할 때 배열 의 형식(예 를 들 어 int 형식)을 알 면 new 키 워드 를 사용 하여 예화 합 니 다.
float[] array = new float[3];
반사 도 사용 할 수 있다.
float[] array = Array.newInstance(float.class, 3);
new 키워드 와 유사 합 니 다.이 예 는 float 형식의 배열 을 만 들 었 습 니 다.
실행 할 때 유형 을 알 수 있다 면 다음 방법 을 사용 하 십시오.
Object array = Array.newInstance(componentType, length);
Array.newInstance()의 첫 번 째 매개 변 수 는 어떤 종류의 배열 을 만 들 것 인 지 를 표시 하고,두 번 째 매개 변 수 는 배열 의 크기 를 표시 합 니 다.
접근 배열
배열 을 만 들 면 배열 의 요 소 를 Array.set()와 Array.get()을 통 해 설정 하고 가 져 올 수 있 습 니 다.
float[] array = (float[]) Array.newInstance(float.class, 3);
Array.set(array, 0, 16.0f);
Array.set(array, 1, 12.4f);
Array.set(array, 2, 16.4f);
System.out.format("array[0]=%f
", Array.get(array, 0));
System.out.format("array[1]=%f
", Array.get(array, 1));
System.out.format("array[2]=%f
", Array.get(array, 2));
출력:
array[0]=16.000000
array[1]=12.400000
array[2]=16.400000
들 어 오 는 대상 이 배열 인지 아 닌 지 를 판단 하 다.
// obj is the instance passed in running time
boolean bArray = obj.getClass().isArray();
배열 의 길 이 를 얻다.
// obj is the instance passed in running time
int length = java.lang.reflect.Array.getLength(obj);
배열 요소 의 유형 을 판단 합 니 다.
// obj is the instance passed in running time
Class elementType = obj.getClass().getComponentType();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.