for(int j=0; j < hanText.size(); j++) {
t = hanText.get(j);
if(t != null) {
h = han2EngMap.get(t);
if(h != null) testText.append(h);
}
}
한글 초중성 글자를 영문으로 변환하는걸 만들고 있는데요.
예컨대 "가"를 "ga"로 변환하려고 합니다.
저 소스에서 hanText는 ArrayList<Sring> 인데, "ㄱ", "ㅏ" 이렇게 String 배열을 갖고 있고요.
han2EngMap은 HashMap<String, String> 으로 되어 있고, han2EngMap.put("ㄱ", "g"); 형태로 한글 자모음당 매칭되는 영문을 갖고 있습니다.
모두 String 값인데요.
이상하게 저 상태로 실행하면, han2EngMap.get(t)는 null을 반환합니다.
t = hanText.get(j); 를 t = "가"; 로 바꾸면 정상동작 하고요.
h = han2EngMap.get(t); 부분을 h = han2EngMap.get("가"); 로 변환해서 실행해도 잘 동작합니다,
hanText.get(j); 를 Log로 찍어도 정상적으로 String값이고, "가" 값이 잘 들어가 있습니다.
로그를 찍어봐도 모두 String 값으로 정상으로 들어가 있고요.
근데, 이상하게 ArrayList에 있는 String을 해쉬맵에 직접 넣으면 null 을 반환하네요. ㅠ.ㅠ
대체 무엇이 문제일까요? 데이터 타입 문제 같은데 아무리 봐도 모두 String으로 정상같은데 ㅠ.ㅠ