수다닷컴

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

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

돌삥

2023.05.09

서로 다른 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

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

번호 제 목 글쓴이 날짜
2698084 표준코딩(div) 비용 질문입니다. (1) 좍좍 2025-06-13
2698054 트러스트폼에 피봇 기능있나요. 아이폰 2025-06-13
2698003 웹표준어렵다고 테이블로 코딩해달라는 프로그래머 --; (10) 지우 2025-06-13
2697945 [질문] vc++ 에서 리스트 컨트롤에 부분만 UpdateData() 할 수 없을까요? (2) 든해솔 2025-06-12
2697917 {와 }의 필요성?.. (1) 이루리라 2025-06-12
2697885 valign 을 대치할수 있는 것은~~ (1) 족장 2025-06-12
2697855 오라클이랑 궁합이 맞는 언어는 자바일까요? c++일까요? (4) 배꽃 2025-06-11
2697830 [질문]어느 범위로 들어가면 다음 프레임으로 넘어갈려면??? 맑다 2025-06-11
2697806 [질문] 이미지나 텍스트를 플래시상으로 불러올때 미라 2025-06-11
2697778 투명도 css-validator 체크 문의 (3) 츄릅 2025-06-11
2697729 오류가딱1개...... 아롱별 2025-06-10
2697703 개인 일기장 홈페이지 만들기 푸르 2025-06-10
2697676 nChar 질문 소율 2025-06-10
2697652 xhtml 관련 질문이요 ! (6) 클 2025-06-09
2697626 warning: variable "dbUS" was declared but never referenced (1) 꽃내 2025-06-09
2697567 mfc 질문드립니다! (2) 물맑 2025-06-09
2697542 iframe은 표준? 비표준? (2) 조은 2025-06-08
2697516 datagrid 활성/비활성시 알파값 변경 시내 2025-06-08
2697487 html5 css3 학원 추천좀해주세요 (1) 예그리나 2025-06-08
2697459 이런 질문도 답변해주실지는 모르겠습니다만 병특에 관한 질문입니다. 승아 2025-06-08
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

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