언어/Android

[Andorid][Java] HashMap

정현석 2010. 2. 23. 15:22
아... 젠장... 정말 케 삽질 했다....

포인터가 없으니 자꾸 C++문법이랑 해깔린다...

뭐냐고? ㅋㅋ 기가차서 어이가 없다. 아래처럼 선언하고서는 사용하고 있었다...

private Map<String, String> m_stMap;

public void setPreferenceForKey(String a_strValue, String a_strKey)
{
m_stMap.put(a_strKey, a_strValue);
}

계속해서 NullPointerException이 일어났고.. 난 문자열이 인자값으로 제대로 들어왔다고 한참 외치고 있었다.... 이게 뭐냐고?? 그래.. 난 저 m_stMap이 그냥 선언했기 때문에 생성되었다고 생각했던 거다.... char* pTest;  pTest->put(A,B); 이렇게 사용한거와 마찬가지인거지...

C++을 계속하다보니 Java를 홀랑 다 까먹는....

그래서 Map을 상속받아 만들어진 HashMap을 사용했다. 사용방법은 거의 동일하다
단, 생성자에서 HashMap에 대한 Instance를 생성해주었다. 

private HashMap<String, String> m_stHashMap;

public wafWidgetControl(){
m_stHashMap = new HashMap<String, String>();
}

public void setPreferenceForKey(String a_strValue, String a_strKey)
{
m_stHashMap.put(a_strKey, a_strValue);
}

이런 실수가 비일비재 할거다.... Java를 너무 오랫동안 안했으니...