Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- android error
- Java
- css
- android fragment
- FLUTTER
- jQuery
- error
- Android Apk 이름 변경
- html
- Eclipse
- Android Apk 이름
- CSS사용법
- R프로그래밍
- DataTable
- Firebase
- Exception
- Kotlin
- JavaScript
- spring
- fragment
- Android Apk
- java error
- Program type already present
- release unsigned
- MySQL
- Android
- release Apk
- tomcat
- 안드로이드
- apache gzip
Archives
- Today
- Total
selfstarter
Java Reflection으로 class 정보 가져오기 본문
Java Reflection으로 class 정보 가져오기
Reflection은 객체의 정보를 알아내는 기능을 가진 class이다
field에 setAccessible()함수 인자를 true로 줘야 접근이 가능하다
getField와 getDeclaredFields, getMethod와 getDeclaredMethod함수의 차이는 해당 class에서 선언된 함수, 필드만 가져올 땐 Declared 붙은 함수를 사용하고, 상속받은 class의 정보도 표시하고 싶을 때는 Declared가 없는 함수를 호출한다
public static String getInfo(Object obj) {
StringBuilder builder = new StringBuilder();
builder.append("pakage name: ");
builder.append(obj.getClass().getPackageName());
builder.append("class name: ");
builder.append(obj.getClass().getSimpleName());
builder.append("\n=============== Field List ===============\n");
for (Field field : obj.getClass().getDeclaredFields()) {
field.setAccessible(true);
try {
Object fieldValue = field.get(obj);
builder.append(field.getType());
builder.append(" ");
builder.append(field.getName().toString());
builder.append(" : ");
builder.append(fieldValue);
builder.append(" ");
} catch (Exception e) {
}
}
return builder.toString();
}
'Server > Java' 카테고리의 다른 글
ArrayList 생성과 동시에 초기화 하기 (0) | 2020.06.19 |
---|---|
문자인식... 을 도전했으나 실패 (0) | 2020.06.15 |
Java instanceof example (0) | 2020.05.30 |
No enclosing instance of type Myani is accessible in Java (0) | 2020.05.30 |
non-static method 'getclass()' cannot be referenced from a static context 해결방법 (0) | 2020.05.23 |
Comments