일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 괌 신혼여행
- 메이플
- 방울토마토 씨부터 키우기
- 메이플스토리M
- 맥세이프충전기
- 어플만들기
- 안방농사
- Ender 3 V3 KE
- 신혼여행
- 핫엔드
- 쿠폰나눔
- 에어팟충전기
- 집에서 방울토마토 키우기
- Android
- 휴대용무선충전기
- 겨울나기
- 다이소 방울토마토키트
- 방울토마토키우기
- 스투키
- 보일러절약
- 방토 농사
- 다이소 방울토마토
- 다크나이트
- 방울토마토 유기농
- 2in1무선충전기
- 집 방울토마토
- 메이플스토리
- 괌맛집
- 안드로이드
- 괌
- Today
- Total
괴도군의 블로그
[JAVA]unmodifiableList metaprograming add values (메타프로그래밍으로 값 추가하기) 본문
[JAVA]unmodifiableList metaprograming add values (메타프로그래밍으로 값 추가하기)
괴도군 2015. 8. 20. 16:55* unmodifiableList metaprograming add values (메타프로그래밍으로 값 추가하기)
ArrayList<String> original = ArrayList<String>();
original.add("no.1");
original.add("no.2");
List<String> list = Collections.unmodifiableList(original);
Class clazz0 = list.getClass();
Class clazz = clazz0.getSuperclass();
Field ff = clazz.getDeclaredField("list");
ff.setAccessible(true);
ArrayList<String> results = (ArrayList<String>)ff.get(list);
results.add();
* unmodifiableList 구별하는법
1. 원래의 값이 아닌지 구분한다.
- ArrayList라면 (!(대상 instanceof ArrayList))로 구분한다.
2. 클래스이름으로 확인한다.
- Collections.unmodifiableList(new ArrayList<Object>()).getClass().getName().equals("java.util.Collections$UnmodifiableRandomAccessList")
- 대상.getClass().getName().equals("java.util.Collections$UnmodifiableRandomAccessList")
'#프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] Zip code 압축코드 풀소스입니다. 자바로 압축하기 (2) | 2017.07.21 |
---|---|
[java][android] 일출일몰시간계산 (2) | 2015.08.19 |
Interface/listener/callback 사용이유, 사용법, 구조 (0) | 2015.06.19 |