TypeSafe enum 사용하기(String)


     스프링 노트에서 쓴글을 블로그로 처음 보내보았는데 -_-

     이거 원..  안좋네..이상한 행번호가 생기고 ..보기가 더 안좋은듯..

     헐..이거말고 다른거 더 긴것도  쓰고 있는중인데 -_-;



원문링크


http://darkneo.springnote.com/pages/391012




1.5 에 추가된 enum 별 관심이 없었지만..-_-


=> 워낙 1.4 스타일로 코딩했고, 사용할만한곳이 안보여서..


     기존 프로젝트가 1.4 인녀석이 많아서 1.4밖에 사용할수 없었다는것도 큰 이유 인듯


보다 보기 좋고 효율있는 코딩을 위하여!!! 라는 취지에서 잠깐 정리해본다.


 => 사실 -_- 프로젝트 중에 사용안하면 귀찮은곳이 존재했었다;

모 장점에 대해서는 다른 곳에서 잘찾아보면 있으니깐..생략..


 


ex) DB 관련 인터페이스를 만들고자 하는 경우 정렬을 입력 받아야 하는 경우가 있다 , 이경우


     DESC , ASC 두개 만 입력 받도록 유도(메소드에 입력 클래스를 정의하고 싶다) 를 하고 이녀석을 바로 쓰고 싶은 경우가 있다..


     없을 수도 있다는..



  1.     public enum ORDER {

            DESC,

            ASC;

        }

  2.    public vodi Sort(ORDER order) {....};

  3.  

  4. System.out.println(className.ORDER.DESC); <- className 은 클래스명

  5. 라고 실행하면 DESC 가 출력된다..

  6. 사실

  7. public static final String DESC ="DESC"; 라고 해도 결과는 같다;;

  8. 그러나 메소드 정의시

  9. public vodi Sort(String order) {....};

  10. 이렇게 String 타입으로 파라메터를 정의해야 하므로 입력제어를 할수 없다.

  11. 즉,아무 문자 , 스트링 타입이면 OK 가 된다.


    1. -> 물론 클래스 생성하면 되기는 되죠;;.-_-;;;;;



  12.  

  13.  


모 여기까지는 다들 아는거고 ..잠깐 서핑하면 알수 있는 내용..이라고 생각을..-_-; 죄송;


참 훌륭한 enum 녀석인데 -_- 만약 '한글' ,'일어' 다른 특수 문자로 값을 제한하고 싶은경우 ;;


 



  1. public static final String DESC ="DESC SORT";

  2. public static final String CHAR ="한국어";

  3. 와 같은 표현을 enum 으로 하고 싶은 경우!!!


 


오늘 이것 때문에 -_- 좀 고생했는데..


ㅎㅎ 생각보다 엄청 간단히..해결 되었다는;;


나의 경우에는 String 그 자체가 필요했기 때문에 toString 을 오버라이딩 하면 해결이 된다는...ㅎㅎ


이것이 다 enum 이 메소드를 지원하는 훌륭한 녀석이라서 ;;


 



  1.      public enum Conditon {

            CHAR {

                public String toString() {

                    return "한국어";

                };

            },       

            DESC {

                public String toString() {

                    return "DESC SORT";

                };

            };

        }


 


그런데 이너클래스(inner class) 냄새가 -_-;


 


SCJP5.pdf <- 1.5 참조문서



P.S 그나저나 1.6은 언제-_- 파악하나...게을러 빠져서...서




 


이 글은 스프링노트에서 작성되었습니다.

by darkneo | 2007/07/30 18:46 | 짧은 JAVA TIP | 트랙백 | 덧글(0)
트랙백 주소 : http://darkneo.egloos.com/tb/3310774
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >
rss

skin by 이글루스