반응형
자바에서 배열은 동적으로 사이즈를 조절 할 수 없으니 상당히 애를 먹게 된다.
이번에도 크기를 고정할 수 없는 두개의 배열을 한개의 배열로 합치는 것에 대해서 검색 후 기록으로 남긴다.
자바에서 기본적으로 제공 하는 System 내 arraycopy 함수를 사용한다.
실제 사용한 소스는 다음과 같다.
Tos1 과 Tos2 는 DB에서 리턴 되는 값에 따라 크기가 결정되고 배열이 만들어진다.
그 후 하나로 합칠 배열 Tos 는 Tos1과 Tos2의 크기를 합친 만큼의 배열로 만든뒤
arraycopy 함수를 써서 두개의 배열을 합친다.
String[] Tos1 = userMgrService.getUserType3Mail(pramMap);
String[] Tos2 = userMgrService.getPerinchaMail(pramMap);
String[] Tos = new String[Tos1.length + Tos2.length];
System.arraycopy(Tos1,0,Tos,0,Tos1.length);
System.arraycopy(Tos2,0,Tos,Tos1.length,Tos2.length);
arraycopy 함수의 요소는 다음과 같다
2. System.arraycopy() 요소
Object src : 복사하고자 하는 소스입니다. 원본이라고 생각하면 됩니다.
int srcPos : 위의 소스에서 어느 부분부터 읽어올지 위치를 정해줍니다.
Object dest : 원본이 있다면 복사본이 있어야겠지요. 복사하려는 대상입니다.
int destPos : 위의 dest에서 자료를 받을 때, 어느 부분부터 쓸지 시작 위치를 정해줍니다.
int length : 원본에서 복사본까지 얼마큼 읽어 올지 입력하는 것 입니다.
간단하게 앞의 2개는 src(원본)에 관한 것이고, 그 뒤에 2개는 dest(복사본), 마지막으로 length는 가져올 길이라고 생각하면 됩니다.
출처 : http://forum.falinux.com/zbxe/index.php?document_srl=571358&mid=lecture_tip
반응형
'IT > 오늘의 질문' 카테고리의 다른 글
[editor] ckeditor4 config (0) | 2018.12.11 |
---|---|
[java, smtp] 자바로 메일 보내기(windows smtp 서버 사용) (0) | 2018.12.10 |
[javascript] html 형식을 정규식 이용하여 TEXT만 출력하기 (1) | 2018.11.29 |
[JAVA] java.math.BigDecimal cannot be cast to java.lang.Integer / BigDecimal to int (0) | 2018.11.29 |
[html,javascript] TEXTAREA 값 엔터(줄바꿈) 적용하기 (0) | 2018.11.27 |