안드로이드 개발 질문/답변
(글 수 358)
public class javaMain {
public static void main(String[] arg) {
String imageUrl = "http://www.winapi.co.kr/data/child3.jpg";
int idx = imageUrl.lastIndexOf('/');
System.out.println(idx);
}
}
위의 결과값이 28이 나오는데..
이해가 잘 안갑니다.ㅠㅠ
검색해보는데도 설명이 다 짤막해서 잘 모르겠어요.ㅠㅠ
도와주세요.
2012.10.19 11:02:41
/인 것 중에서 젤 마지막의 위치를 리턴해 주는거에요.
저기서 마지막 /인건 child3앞에 /가 마지막이죠?
"http://www.winapi.co.kr/data/child3.jpg";
여기에서 http의 h가 0번째거 거기서부터 child3 앞에 / 까지 글자를 숫자로 세면 28입니다.
2012.10.19 11:05:19
lastIndexOf 는 지정한 문자(문자열)을 원본문자열의 끝에서부터 찾아서 존재하면 그 위치값을 반환합니다.
위치값은 앞에서부터 0,1,2.....이렇게 나가기때문에....
/ 를 끝에서부터 찾았을때 child 앞쪽에 있으므로 전체문자열의 처음부터 그 위치를 확인하면 반환값은 28이 맞습니다.
http://www.winapi.co.kr/data : 28자
바로다음에 나오는 /는 29번째....그런데 왜 반환값이 28인가? 첫번째 문자의 위치값은 1이 아니라 0이기 때문에 그렇습니다.
제일 마지막에 있는 "/"를 찾고 그 위치의 값 리턴. 위치는 앞에서 부터 셈함.