2012-12-12 9 views
0

문자열 배열의 값을 다른 문자열 배열에 저장하려고합니다. 하지만 아래 코드와 함께 "NullPointerException"오류가 발생합니다. "imagesSelected"는 값이 저장된 문자열 배열입니다. 하지만 하위 문자열 뒤에 다른 문자열 배열로 옮길 때 오류가 발생합니다. 나는 코드의 마지막 줄 때문에 믿었다. 어떻게 작동시키는 지 모르겠습니다.값을 문자열 배열에 저장하십시오.

String[] imageLocation; 

     if(imagesSelected.length >0){ 
     for(int i=0;i<imagesSelected.length;i++){ 
      int start = imagesSelected[i].indexOf("WB/"); 
      imageLocation[i] = imagesSelected[i].substring(start + 3); 
     } 
     } 
+0

당신은 적당한 크기에'imageLocation' 배열을 초기화 할 필요가 [을하지만 오래 배열이 원하는]. – gsingh2011

+0

print stack trace를 추가하십시오 –

+1

배열''String []의 문자열을 초기화하지 않았습니다 imageLocation = new String [x];''그렇습니까? –

답변

5

당신은 같은 것을 할 필요가 :

String[] imageLocation = new String[imagesSelected.length]; 

그렇지 않으면 imageLocationnull 될 것입니다.

그런데 루프 주위에 if이 필요하지 않습니다. 루프의 시작 부분에서 사용되는 것과 동일한 로직이되므로 완전히 중복됩니다.

+0

답변 해 주셔서 감사합니다. 이것은 내 문제를 해결했다. –

2

imageLocation에 대한 메모리를 할당해야합니다.

imageLocation = new String[LENGTH]; 
+0

나는 이미 내 문제를 해결했다. 하지만 여전히 대답과 시간을 내 주셔서 감사합니다! –

1

귀하의 최종 솔루션의 코드는 다음과 같이해야한다, 또는 컴파일러는 당신에게 imageLocation이 코드

String[] imageLocation; 

     if(imagesSelected.length >0){ 
      imageLocation = new String[imageSelected.length]; 
     for(int i=0;i<imagesSelected.length;i++){ 
      int start = imagesSelected[i].indexOf("WB/"); 
      imageLocation[i] = imagesSelected[i].substring(start + 3); 
     } 
     } 
+0

답변 해 주셔서 감사합니다! –

+0

@ IssacZH. 당신은 환영받는 친구입니다 –

1

모습을 초기화되지 않았을 수 없다는 오류를 줄 것이다

imageLocation을 초기화하셨습니까?

존재하지 않는 문자열 배열의 위치를 ​​가리키고 있기 때문에이 오류가 발생한다고 생각합니다. imageLocation [0,1,2,3 ... 등] 문자열 배열이 초기화되지 않았기 때문에 아직 존재하지 않습니다.

는 문자열 [] imageLocation의 시도

+0

나는 그것을 이미 작동 시켰습니다. 답변과 시간을 보내 주셔서 감사합니다! –

+0

:) 대부분의 웰컴 –

4

imageLocation [I]에서

String[] imageLocation = new String[imagesSelected != null ? imagesSelected.length : 0]; 

    if (imagesSelected.length > 0) { 
     for (int i = 0; i < imagesSelected.length; i++) { 
      int start = imagesSelected[i].indexOf("WB/"); 
      imageLocation[i] = imagesSelected[i].substring(start + 3); 
     } 
    } 
+0

대답 해 주셔서 감사합니다! 이미 작동 중입니다. –

관련 문제