수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

[내용추가] Java reflect를 통한 List에 동적으로 구성되는 Generic 값들을 복사하는 방법이 있을까요?

비예

2023.04.01

서로 다른 VO 사이에 데이터를 복사하려 합니다.
그런데 List 에 동적으로 구성되는 Generic입니다. List 안에 객체는 동일한 set/getter 메소드로 구성되어 있구요.
단일 객체의데이터를 복사하는 건 성공했는데요. List 안에 동적으로 구성되는 Generic을 복사 하려 합니다.
방법이 있을까요? 참고 소스 올려 봅니다. 고수님들의 조언 부탁드립니다.

classTarget{
protected StringRPT_CNT;
protected ListCOMMON common;

public String getRPT_CNT() {
return rptCNT;
}
public void setRPT_CNT(String value) {
this.rptCNT = value;
}
public ListCOMMON getCOMMON() {
if (common == null) {
common = new ArrayListCOMMON();
}
return this.common;
}
public void setCOMMON(ListCOMMON common) {
this.common = common;
}
}

public class COMMON {
protected String CD;
protected String NM;

public String getCD() {
return cd;
}
public void setCD(String value) {
this.cd = value;
}
public String getNM() {
return nm;
}
public void setNM(String value) {
this.nm = value;
}
}

class Source {
public String getCD() {
return cd;
}
public void setCD(String value) {
this.cd = value;
}
public String getNM() {
return nm;
}
public void setNM(String value) {
this.nm = value;
}
}

구조는 대략적으로 이렇게 구성이 되어 있습니다.
Source 와 Target은 정적 객체가 아니라동적 객체입니다.
항상 다른 객체가 넘어 옵니다.

함수로 ListSource 와 Target 을 넘겨 ListSource의 값들을 Target의 ListCOMMON 의 값으로 복사하는 방식입니다.

가능할까요? 혹 설명이 부족한 부분이 있다면 말씀해 주시면 좀더 자세히 설명 올려 놓겠습니다.
고수님들의 조언 다시한번 부탁드립니다.내용을 좀더 보충하도록 하겠습니다.
소스로 설명을 좀 해보도록 하겠습니다.

ListSource src = 쿼리를 통해리스트 값이 리턴되어 할당됩니다.;
Target trg = new Target();

copyObject ( trg, src);

public void copyObject ( Object target , Object source )
{
1. target 의 변수중 List 타입인 변수를 찾습니다.(참고로 내부 구조상 List 타입은 무조건 하나입니다.)
2. List 변수의 Generic 타입을 확인합니다.
3. 새로운 ListGeneric 으로 변수를 생성합니다.
4. source의 Generic 타입을 확인합니다.
5. source의 size 만큼 for 을 돕니다.
5-1. source에 할당되어 있는 Generic 타입의 객체를 받아옵니다.
5-2. source의 Generic 객체를 2번에서 확인한 Generic 타입의 객체에 복사를 합니다.
( 이때 또한 Reflect 를 통해 setter/getter 메소드로 값을 세팅해서 복사를 합니다. - 구현됨 )
5-3. 3번에 생성됬던 변수에 add를 합니다.
6. 3번의 생성된 LIST 객체를 target의 1번에 찾은 변수에 할당합니다.
}간단히 말씀드리면 쿼리 결과인 List 객체를 다른 객체의 List 객체에 복사하고 싶은데 객체 타입이 전혀 다릅니다.
하지만 내부의 변수명이 같기에 reflect 를 통해 복사를 하려고 합니다.

이걸로 설명이 좀 될지 모르겠네요. 고수님들의 조언 기다리겠습니다...ㅜㅜ

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

번호 제 목 글쓴이 날짜
2702228 이 표현은 무엇인지... 몰라서요. (2) 도란도란 2025-07-21
2702197 dll 인젝션 사용법좀 알려주세요 새밝 2025-07-21
2702147 dd 안에 div들어가도 되나요? (8) 꿈 2025-07-20
2702086 [질문]세션 박스 질문입니다. (1) 하연 2025-07-20
2702057 씨언어 숙재좀 풀어주실분 ㅜ.ㅜ (3) 난슬 2025-07-19
2702000 select 사용시 label 문제 질문드립니다. 김예쁨 2025-07-19
2701970 실행파일의 이름은 어디서 변경하는지요???? 호빵녀 2025-07-19
2701856 다시 한번 대체텍스트 관련 질문입니다.. (1) 한샘가온 2025-07-18
2701803 저에게 지식의 자비를~ 베푸소서~!! (4) 봄바람 2025-07-17
2701773 메모장 파일을 읽고 출력하는 내용에 관한 질문입니다. 한국드립 2025-07-17
2701748 아이피 변경 부분이요... 날애 2025-07-17
2701665 자바스크립트 // 왜 if 두개를 쓰면 오류가 나죠? (2) 글리슨 2025-07-16
2701636 모바일웹 게시판 만들기 조언좀 부탁드려요 ㅜㅜ (2) 정훈 2025-07-16
2701610 [질문] AS3 액션으로 스테이지 사이즈를 조절할 수 있는 방법이 있을까요? (1) 앵겨쪼 2025-07-15
2701556 input text에 한글을 default 하려면.. (3) 히나 2025-07-15
2701528 apmsetup 접속이.... (5) 곰돌이 2025-07-15
2701506 암호를 *로 (6) 도도한 2025-07-14
2701475 배열최대값 찾기인데; 소스좀 해석해주세요; Orange 2025-07-14
2701397 세로 100% 푸터부분이 바닥에 안붙어요(세로 100% 되는 소스를 썼거든요) 꽃겨울 2025-07-13
2701369 [긴급]로드해온 swf가 갑자기 사라지는 현상..(익스10) (2) 곰돌이 2025-07-13
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com