2011-04-29 9 views
0

제 질문은 null 일 경우 장소를 확인하거나 2 차원 문자열 배열을 null로 설정할 수 있나요?Java Lang의 2 차원 배열

String [][] xx=new String [][] 
public void set(int a,int b) 
    { 
xx[a][b]=null;//setting null 
} 
. 
. 
. 
. 
. 
if(xx[a][b]==null)//check if null 
    ///some codes 

잘못된 경우, it.?Regards을 수행하는 방법에 .. 그것이 가능합니까? 아니면

+1

시도해보십시오. – Martin

+0

시도해 보았지만 작동하지 않았습니까? 그렇지 않다면 문제가 될 수 있습니다. – Zirak

답변

1

예. 이것은 객체의 배열이므로 실제로는 메모리 주소의 배열입니다. 주소를 0으로 설정하면 null을 설정할 수 있습니다. 그러나 int와 같이 기본 유형의 2 차원 배열이있는 경우 위치를 null로 설정할 수 없습니다.

+0

그럼 문자열에도 적용 할 수 없습니까? 그래서 .. for 루프로 for.deleting 할 수 있을까요? – Cole

+1

String 객체에서 잘 작동합니다. 대문자로 시작하는 모든 표준 유형은 객체입니다 (그리고 자신의 클래스에 대해이 규칙을 따라야합니다). 'int' 나'double'과 같이 소문자로 시작하는 표준 타입은 기본 타입입니다. –

0

배열에있는 요소의 수를 지정해야하며 elemnts를 수동으로 null로 설정할 필요가 없습니다.

public class Dim2AR 
{ 
    // String [][] xx = new String [][]; 
    String [][] xx = new String [20][20]; 

    public void set (int a, int b) 
    { 
     xx[a][b] = null; 
    } 

    public void set (int a, int b, String v) 
    { 
     xx[a][b] = v; 
    } 

    public Dim2AR() 
    { 
     check (3, 3); 
     set (3, 3); 
     check (4, 3); 
     set (4, 3, "foo"); 
     check (4, 3); 
    } 

    public static void main (String args[]) 
    { 
     new Dim2AR(); 
    } 

    public void check (int a, int b) 
    { 
     if (xx[a][b] != null) System.out.println ("> " + xx[a][b]); 
     else System.out.println ("-"); 
    } 
}