안녕하세요 아즈라엘 입니다. 


이번에 메서드 인자값으로 레퍼런스를 넘겨서 new 를 하는데 안되고 

리턴값으로 받으면 되는걸 받았는데 C/C++의 포인터 개념과 무쟈게 

햇갈리네요 ㅜㅜ


잘되는 소스 


startPoint = DataToken(readTxt(context, R.raw.start_frame));



private int[] DataToken(String txt) {

int[] ret = null;

try {

StringTokenizer st = new StringTokenizer(txt, "\n");

int i = 0;

ret = new int[st.countTokens()];

while (st.hasMoreTokens()) {

ret[i++] = (int) (Integer.parseInt(st.nextToken()) / 30.0f * 1000.0f);

}

} catch (NullPointerException e) {

DebugUtils.e(TAG, "DataToken() -> NullPointerException : " + e.getMessage());

return null;

} catch (IndexOutOfBoundsException e) {

DebugUtils.e(TAG, "DataToken() -> IndexOutOfBoundsException : " + e.getMessage());

return null;

}


return ret;

}



잘 안되는 소스 


DataToken(startPoint , readTxt(context, R.raw.start_frame));


private void DataToken(int[] ret, String txt) {

try {

StringTokenizer st = new StringTokenizer(txt, "\n");

int i = 0;

ret = new int[st.countTokens()];

while (st.hasMoreTokens()) {

ret[i++] = (int) (Integer.parseInt(st.nextToken()) / 30.0f * 1000.0f);

}

} catch (NullPointerException e) {

DebugUtils.e(TAG, "DataToken() -> NullPointerException : " + e.getMessage());

} catch (IndexOutOfBoundsException e) {

DebugUtils.e(TAG, "DataToken() -> IndexOutOfBoundsException : " + e.getMessage());


}

}