2013/04/17 15:27

instanceof... JAVA



요즘,, xPlatform을 UI도구로 사용해
사내 표준 프레임워크에 연동시키고,
가지고 있는 공통콤포넌트를 구현하는 중이다. 

그래서 UI adaptor 등을 xPlatform에서 제공해준 것을
사용해서 연동시키고 데이터 처리 확인하고
공통컴포넌트를 이용해
로그인부터 메뉴관리 및 권한처리,, 
화면 display 등등을 작업하고 있다.. 

하던 중,,
instanceof를 요긴하게 써 먹었다.ㅋㅋ

일단 사용방법은 
A instanceof B 라고 하면
A is a kind of B 라고 생각하면 된다.
즉 UML로 치자면 generalization 관계?
암튼 그 결과가 boolean 값으로 return...


이걸 어떻게 활용했냐면.. 
server data를 xplatform UI로 던지는 
viewByMap class에서.. 

---------------------------------------

  Set<String> keySet = map.keySet();
  Iterator<String> iter = keySet.iterator();
  while (iter.hasNext()) {
   String dsName = iter.next();
   DataSet ds = new DataSet(dsName);

   if (map.get(dsName) instanceof Map) {
    Map<String, Object> dsMap = (Map<String, Object>) map.get(dsName);
    setDataSet(dsMap, ds);
   } 

   else if (map.get(dsName) instanceof List) {
    List<Map<String, Object>> dsList = (List<Map<String, Object>>) map.get(dsName);
    setDataSet(dsList, ds);
   }
   dataSetList.add(ds);
  }


---------------------------------------
map에 담겨있는 데이터가
List인지 Map인지 모르는 경우,,
instanceof를 사용하면 깔끔하다.. 

전자공학 전공이라,
개발자가 기본적으로 아닌 상식들을
많이 모르는 나로서는,
자바라는 언어의 세계도
제대로 공부를 못하고,, 아니 안하고.. 
그냥 소스보고 쓰던 함수들만 계속쓰고 하다보니..
실력이 늘질 않는다..

억지로라도,, 이렇게 적용해보고 사용해보고 해야한다.. 

아,, 아직멀었다..

하지만, 또 이렇게 하나 정리하고 간다~~ㅋ


덧글

댓글 입력 영역