int [] a = new int[10];
int a[] = new int[10];
ex>
class arNew{
public static void main(String[] args){
int[] a = new int[10];
int b[] = new int[10]l
int i;
for(i=0;i<5;++i){
a[i] = (i+1)*10+1;
b[i] = (i+1)*100 +5;
}
//run-time error
for(i=0;i<15;i++){
System.out.println(a[i]+" "+b[i]);
}
}
}
int a[]={1,3,5,7,9};
class arCopy{
public static void main(String[] args){
int a[] = {11,13,15,17,19,21,23};
int b[] = new int[a.length];
int i;
b=a;
for(i=0;i<a.length;i++){
System.out.println(a[i]+" "+b[i]);
}
}
}
b는 단순히 a의 메모리만을 가리키게 된다. 그렇기에 b에 할당한 메모리 공간은 큰 의미가 없는 것이 된다.
그렇다면 b에 할당한 메모리 공간은 어떻게 될 것인가? JAVA는 이를 자동으로 해제해주는 가비지 컬렉터
이 등장하여 이를 해제해 준다.
ex>
class arCopy{
public static void main(String[] args){
int a[] = {11,13,15,17,19,21,23};
int b[] = new int[a.length];
int i;
System.arraycopy(a,1,b,2,3);
for(i=0;i<a.length;i++){
System.out.println(a[i]+" "+b[i]);
}
}
}