자바배열(Java Array),배열복사/복제, System.arrayCopy, clone,배열복제,객체복제 [자바개발자교육/자바교육/자바강좌/자바,Spring교육잘하는곳/자바,spring교육추천/자바실무교육/JAVA/JAVA교육/JAVA스프링학원/JAVA실무교육]
자바배열(Java Array),배열복사/복제, System.arrayCopy, clone,배열복제,객체복제
객체는 값의 할당을 원칙으로 함.
배열은 객체임. 일반적인 방법으로 복사되지 않음.
배열 복사의 두 가지 방법
- System.arrayCopy()메서드 이용
public static void arraycopy(Object src , int src_position ,
Object dst ,int dst_position ,int length)
Object src : 원본배열
int src_position : 원본배열의 시작위치
Object dst ,int dst_position ,int length)
Object src : 원본배열
int src_position : 원본배열의 시작위치
Object dst : 복사할 배열
int dst_position : 복사할 배열의 시작위치
int length : 복사할 개수.
- Object클래스의 clone()메서드 이용
메모리를 복사하여 Object형 객체 리턴
원래 타입으로 다운캐스팅 필요
[Clone()메서드로 객체복사 시 주의점]
Cloneable인터페이스 구현필요
배열은 이미 구현되어 쓸 구현 필요 없음
Cloneable인터페이스 구현필요
배열은 이미 구현되어 쓸 구현 필요 없음
int[] mytarget = (int[])mydream.clone();
[예1]
public class ArrayTest {
public static void main(String[] args) {
int[] onjoraclejava = new int[]{5, 4, 6, 9, 7, 9};
int[] target = {10, 20, 30, 40, 50, 60,70, 80};
System.arraycopy(onjoraclejava, 2, target, 3, 4);
for(int i=0; i<target.length; i++)
{
System.out.println("target["+i+"] : " + target[i]);
}
}
}
[결과]
target[0] : 10
target[1] : 20
target[2] : 30
target[3] : 6
target[4] : 9
target[5] : 7
target[6] : 9
target[7] : 80
target[1] : 20
target[2] : 30
target[3] : 6
target[4] : 9
target[5] : 7
target[6] : 9
target[7] : 80
[예2]
public class CloneTest {
public static void main(String[] args) {
int[] oraclejavanew = new int[]{1, 4, 6, 9};
int[] target = (int[])oraclejavanew.clone();
for(int i=0; i<target.length; i++)
{
System.out.println("target["+i+"] : " + target[i]);
}
}
}
public static void main(String[] args) {
int[] oraclejavanew = new int[]{1, 4, 6, 9};
int[] target = (int[])oraclejavanew.clone();
for(int i=0; i<target.length; i++)
{
System.out.println("target["+i+"] : " + target[i]);
}
}
}
[결과]
target[0] : 1
target[1] : 4
target[2] : 6
target[3] : 9
target[1] : 4
target[2] : 6
target[3] : 9
오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com
평일주간(9:30~18:20) 개강
(6/09)안드로이드개발자과정
(6/09)C#4.0,ADO.NET,Network 프로그래밍
(5/26)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(5/28)[교육전취업확정]Spring,MyBatis,XPlatform실무프로젝트과정
(5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(5/30)[기업100%환급]SQL기초에서 Schema Object까지
(6/09)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(6/09)[기업100%환급]안드로이드개발자과정
평일야간(19:00~21:50) 개강
(5/26)웹퍼블리싱 마스터
(5/28)Spring3.X, MyBatis, Hibernate실무과정
(5/28)SQL초보에서실전전문가까지
(5/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(6/03)안드로이드개발자과정
(6/10)C#4.0, ADO.NET, Network 프로그래밍
(6/19)C#,ASP.NET마스터
주말(10:00~17:50) 개강
(5/31)Spring3.X, MyBatis, Hibernate실무과정
(5/31)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/31)SQL초보에서실전전문가까지
(5/31)C#,ASP.NET마스터
(5/31)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
(5/31)안드로이드개발자과정
주말저녁(18:30~22:20) 개강
(6/21)JAVA,Network&WEB&Framework
(6/21)SQL기초에서실무까지
www.oraclejavacommunity.com
평일주간(9:30~18:20) 개강
(6/09)안드로이드개발자과정
(6/09)C#4.0,ADO.NET,Network 프로그래밍
(5/26)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(5/28)[교육전취업확정]Spring,MyBatis,XPlatform실무프로젝트과정
(5/30)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(5/30)[기업100%환급]SQL기초에서 Schema Object까지
(6/09)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(6/09)[기업100%환급]안드로이드개발자과정
평일야간(19:00~21:50) 개강
(5/26)웹퍼블리싱 마스터
(5/28)Spring3.X, MyBatis, Hibernate실무과정
(5/28)SQL초보에서실전전문가까지
(5/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(6/03)안드로이드개발자과정
(6/10)C#4.0, ADO.NET, Network 프로그래밍
(6/19)C#,ASP.NET마스터
주말(10:00~17:50) 개강
(5/31)Spring3.X, MyBatis, Hibernate실무과정
(5/31)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/31)SQL초보에서실전전문가까지
(5/31)C#,ASP.NET마스터
(5/31)실무예제로 배워보는 jQuery(개발자/디자이너를위한)
(5/31)안드로이드개발자과정
주말저녁(18:30~22:20) 개강
(6/21)JAVA,Network&WEB&Framework
(6/21)SQL기초에서실무까지
댓글 없음:
댓글 쓰기