입력 객체에 반사를 사용하는 코드가 있고 객체에 저장된 데이터에 대한 처리가 있습니다. 입력 객체는 String 또는 int 또는 double 등이 될 수 있으며 때로는 다차원 배열이 될 수 있습니다. 나는 2 차원 배열을 위해 그것을하는 방법을 안다. 그러나 나는 어떤 주어진 차원 배열을 위해 일할 무언가를 선호 할 것이다. 이를 달성하기위한 지침이 도움이 될 것입니다. 감사합니다.반사 및 다차원 배열
4
A
답변
6
재귀 또는 루프 또는 둘 다 필요합니다.
void getStuffFromArray(Object obj) {
// assuming we already know obj.getClass().isArray() == true
Class<?> componentType = obj.getClass().getComponentType();
int size = Array.getLength(obj);
for (int i = 0; i < size; i++) {
Object value = Array.get(obj, i);
if (value.getClass().isArray()) {
getStuffFromArray(value);
} else {
// not an array; process it
}
}
}
+0
좋은 대답. 나는 비슷한 코드를 만들었지 만 먼저 그것을 얻었습니다. –
+1
왜 "clazz"를 별도로 전달해야합니까? obj.getClass()가 아닌가? – newacct
+0
하, 그게 내가 대답 상자에 코드를 작성하는 것입니다. –
관련 문제
- 1. 다차원 배열
- 2. json 다차원 배열 및 jquery?
- 3. Obj-C 및 다차원 배열
- 4. 다차원 배열
- 5. 다차원 배열
- 6. 다차원 배열
- 7. 다차원 배열
- 8. 다차원 배열
- 9. 반사 과부하. 반사 varargs 메서드에 대한 반사 배열 채우기
- 10. 자바 스크립트 배열 반사
- 11. 다차원 배열 직렬화
- 12. $ _POST 다차원 배열 루핑
- 13. 다차원 배열 구현 방법
- 14. 배열, 다차원 및 들쭉날쭉 한 ... C#
- 15. PHP 보행 및 다차원 배열 인쇄
- 16. 정수 및 문자열을 사용하는 다차원 배열
- 17. PHP의 다차원 배열 비교
- 18. 동적 다차원 배열
- 19. C# - 다차원 int 배열
- 20. plpgsql에서 다차원 배열 초기화
- 21. 주문 다차원 배열 PHP
- 22. 다차원 배열 정렬
- 23. 문제 다차원 배열 초기화
- 24. 어셈블리 언어의 다차원 배열
- 25. PHP 다차원 배열 도움말
- 26. PHP의 다차원 배열
- 27. VBScript의 다차원 배열 필터링
- 28. 양식의 다차원 배열 게시
- 29. 다차원 배열 값에 액세스
- 30. PHP - 다차원 배열
나는 C와 포인터를 망치기 시작한 이래로 다차원 배열이 모든 프로그래밍 문제에 대한 잘못된 대답을 발견했다. 한 가지 예외는 수학 기반 행렬 조작 일 수도 있지만 그 많은 수학이있는 것은 아마 어쨌든 (수학 언어로 작성된) 코드가 아닌 데이터로 취급되어야합니다. 그렇지 않으면 중첩 된 구조, 중첩 된 배열 또는 중첩 된 포인터/배열 조합은 항상 더 명확하게 읽는 것처럼 보입니다. 그것은 확실히 내가 옳은 문제를 보지 못했을 수 있습니다 .. –