보통 문자열을 쪼개서 사용을 할때 많이 사용하는 것이 StringTokenizer 입니다.
그런데 이넘이 가끔 바보같은짓을 할 경우가 발생을 하는데요..
1. StringTokenizer 로 문자 자르기
예를 들자면
1)
String str = "학교,집,회사,게임방";
StringTokenizer tokens = new StringTokenizer( str, "," );를 사용 할 경우
for( int x = 1; tokens.hasMoreElements(); x++ ){
System.out.println( "문자" + x + " = " + tokens.nextToken() );
}
결과-------------------
문자1 : 학교
문자2 : 집
문자3 : 회사
문자4 : 게임방
-----------------------
이렇게 잘 나옵니다.
2) 만약 중간에 문자하나가 없을 경우
String str = "학교,집,,게임방";
StringTokenizer tokens = new StringTokenizer( str, "," );를 사용 할 경우
for( int x = 1; tokens.hasMoreElements(); x++ ){
System.out.println( "문자" + x + " = " + tokens.nextToken() );
}
결과-------------------
문자1 : 학교
문자2 : 집
문자3 : 게임방
-----------------------
이렇게 나옵니다.
즉 4번째는 없어져 버리는것이죠.. 만약 제가 DB에 값을 저장한다고 한다면 테이블에 필드를 4개 만들었을 경우
(mem1, mem2, mem3, mem4 의 필드가 있다고 할께요)
1) 같은 경우에는
mem1 필드에는 학교
mem2 필드에는 집
mem3 필드에는 회사
mem4 필드에는 게임방
이렇게 저장이 되겠지만
2) 같은 경우에는
mem1 필드에는 학교
mem2 필드에는 집
mem3 필드에는 게임방
이렇게 저장이 됩니다..난리났네요..3번째 필드에는 null 이 들어가고 mem4 필드에 게임방이 들어가야하는데..