java 5.0 ¼Ò½º¸¦ 1.4.2 ¼Ò½º·Î ¹Ù²Ù±â

Ä¿¸Çµå¶óÀÎ argument¸¦ ó¸®ÇÏ´Â Äڵ带 ã´Ù°¡ Processing command line arguments in Java: Case closed¶ó´Â Á¦¸ñÀÇ ¹®°ÇÀ» ã¾Æ³Â´Ù. À©µµ¿ì¿Í À¯´Ð½º °è¿­¿¡¼­ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¹æ½ÄÀÇ Ä¿¸Çµå¶óÀÎ argument¸¦ 󸮸¦ ÇÒ ¼ö Àִ Ŭ·¡½º ¼Ò½º°¡ ÀÚ¼¼ÇÑ ¼³¸í°ú ÇÔ²² Á¦°øµÈ´Ù. °ÅÀÇ ±Ã±ØÀÇ Ä¿¸Çµå¶óÀΠó¸® Ŭ·¡½º¶ó°í »ý°¢µÈ´Ù.

ÀÚ¼¼È÷ ¼³¸íÀ» µé¿©´Ù º¸ÀÚ ¸¶ÀÚ ´«¿¡ ¶ç´Â °ÍÀÌ public enum … Java 5·Î ÀÛ¼ºµÈ ¼Ò½º´Ù. Áö±Ý °³¹ß ȯ°æÀº 1.4.2¿©¼­ ´Ù¸¥ ¼Ò½º¸¦ ã¾Æ º¼±î ÇÏ´Ù°¡ 5.0ÀÇ syntax¿Í ¾÷µÈ ±â´É¿¡ Ä£¼÷ÇØ Á®º¼±î ÇÏ´Â ±â´ë·Î 1.4.2·Î ´Ù¿î ±×·¡À̵å ÇØº¸±â·Î Çß´Ù.

´ÙÀ½Àº java 5 Äڵ带 1.4.2·Î ¹Ù²Ù¸é¼­ Çß´ø ÀÛ¾÷µéÀ» ¿ä¾àÇÑ °ÍÀÌ´Ù.

for each¸¦ iterator¸¦ »ç¿ëÇÏ´Â while ¶Ç´Â Index¸¦ »ç¿ëÇÏ´Â for ·çÇÁ·Î º¯°æ

¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ÄÚµå´Â

for (String setName : optionSets.keySet())

    optionSets.get(setName).addOption(key, defaultMultiplicity);

iterator¸¦ »ç¿ëÇÏ´Â while·Î ´ÙÀ½°ú °°ÀÌ º¯°æÇß´Ù.

Iterator iter = optionSets.keySet().iterator();

while(iter.hasNext())

{

    String setName = (String)iter.next();

    optionSets.get(setName).addOption(key, defaultMultiplicity);

}

Á¦³Ê¸¯À¸·Î Á¤ÀÇµÈ 5.0 Ŭ·¡½º »ç¿ëÀ» 1.4.2 Ŭ·¡½º »ç¿ëÀ¸·Î º¯°æ

¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ 5.0 Ŭ·¡½º ¶óÀ̺귯¸®ÀÇ HashMap<K,V>À» »ç¿ëÇÑ ÄÚµå´Â

private HashMap<String, OptionSet> optionSets = new HashMap<String, OptionSet>();

´ÙÀ½°ú °°ÀÌ 1.4.2ÀÇ HashMapÀ¸·Î º¯°æ

private HashMap optionSets = new HashMap();

¿©±â¿¡ ´ùºÙ¿©¾ß ÇÒ °ÍÀº °ª Á¢±Ù½Ã ¸í½ÃÀû ŸÀÔ º¯È¯. ´ÙÀ½°ú °°Àº 5.0 ÄÚµå´Â

public OptionSet getSet(String setName) {

    return optionSets.get(setName);

}

1.4.2¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ ¸í½ÃÀûÀΠŸÀÔº¯È¯À» ÇØ¾ß ÇÑ´Ù.

public OptionSet getSet(String setName) {

    return (OptionSet)optionSets.get(setName);

}

±× ³ª¸¶ ´ÙÇàÀ̾ú´ø °Ç »ç¿ëµÈ Á¦³Ê¸¯ Ŭ·¡½º¿Í µ¿ÀÏ À̸§ÀÇ Å¬·¡½º°¡ 1.4.2 Ŭ·¡½º ¶óÀ̺귯¸®¿¡ ÀÖ¾ú´Ù´Â Á¡ÀÌ´Ù. ŸÀÔ ¼¼ÀÌÇÁƼ´Â ·¡ÆÛ Ŭ·¡½º¸¦ ¸¸µé¾î »ç¿ëÇÏÁö ¾Ê´Â ÀÌ»ó ¾î¿ ¼ö ¾øÀÌ Æ÷±âÇØ¾ß ÇÑ´Ù.

enumÀ» final staticÀ¸·Î º¯°æ

enum ŸÀÔ¿¡ Á¤ÀÇµÈ °ªµéÀ» »ó¼ö·Î ¼±¾ðÇÑ´Ù. ´ÙÀ½°ú °°Àº enum ŸÀÔÀ»

public enum Prefix {

    DASH(’-'),

    SLASH(’/');

    private char c;

    private Prefix(char c) {

        this.c = c;

    }

    char getName() {

        return c;

    }

}

´ÙÀ½°ú °°ÀÌ »ó¼öÁ¤ÀÇ·Î º¯°æ Çß´Ù.

// ‘A’ is just an arbitrary dummy value

public final static char PREFIX_NULL = ‘A’;    

public final static char PREFIX_DASH = ‘-’;

public final static char PREFIX_SLASH = ‘/’;

null°ªÀ» À§ÇØ nullÀ» ³ªÅ¸³»´Â º°µµÀÇ »ó¼ö¸¦ Á¤ÀÇÇÏ¿© »ç¿ëÇØ¾ß Çß´Ù. ¤Ð_¤Ð

enum ŸÀÔÀ» ÇÁ¸®¹ÌƼºê ŸÀÔÀ¸·Î º¯°æÇϸ鼭 ´ç±Ù ŸÀÔ ¼¼ÀÌÇÁƼ´Â ³¯¾Æ°£´Ù. enum º¯¼ö¸¦ ÇÁ¸®¹ÌƼºê ŸÀÔ char º¯¼ö·Î ¹Ù²Ù´Â °úÁ¤¿¡¼­ ¿À¹ö·ÎµùµÈ ¸Þ¼Òµå/ÄÁ½ºÆ®·°ÅÍ Áß¿¡ ÇÁ·ÎÅäŸÀÔ µ¿ÀÏÇØ¼­ Áߺ¹ Á¤ÀÇ ¿¡·¯¸¦ ¹ß»ýÇÏ´Â °æ¿ì°¡ »ý°Ü ºÒ°¡ÇÇÇÏ°Ô ¸î °³ÀÇ ¸Þ¼Òµå/ÄÁ½ºÆ®·°Å͸¦ »èÁ¦ÇØ¾ß Çß´Ù.

enum ŸÀÔÀ» ÇÁ¸®¹ÌƼºê ŸÀÔÀ¸·Î ´ëÄ¡ÇÏÁö ¾Ê°í µ¿¸íÀÇ Å¬·¡½º·Î Á¤ÀÇÇÏ´Â °ÍÀÌ Á»´õ ½º¸¶Æ®ÇÑ ¹æ¹ýÀÌ ¾Æ´Ï¾ú³ª ½ÍÀº »ý°¢À» ÀÛ¾÷À» ¸¶Ä¡°í¼­¾ß ÇϰԵǾú´Ù. ±×·¨À¸¸é enum ŸÀÔ »ç¿ëÇÏ´Â ºÎºÐÀÇ Äڵ带 ¾È °Çµå·Áµµ µÉ °ÍÀ»…

°¡º¯ argument(varatgs), metadata, 1.4.2 ¶óÀ̺귯¸®¿¡´Â ¾ø´Â Ãß°¡µÈ Ŭ·¡½ºÀÇ »ç¿ëÀÌ ¾ø¾î¼­ ±×³ª¸¶ ½±°Ô 1.4.2·Î ¹Ù²ã ³¾ ¼ö ÀÖ¾ú´Ù.

À̹ø ÄÚµå ´Ù¿î ±×·¡À̵带 ÅëÇØ Á¦³Ê¸¯, for each, enum ŸÀÔµî ¸î°¡Áö ¾ÈµÇ´Â »çÇ׿¡ ´ëÇØ¼­¸¸ ´Ù·ï ºÃÀ½¿¡µµ ºÒ±¸Çϰí 1.4.2¿¡ ºñÇØ 5´Â ¹«½ÃÇÒ ¼ö ¾ø´Â ºÐ¸íÇÑ °³¼±ÀÌ ÀÌ·ï Á³À½À» ´À³¥ ¼ö ÀÖ´Ù.

java 5°¡ Á¤½Ä ¹ßÇ¥µÇ¸é ¿ì¸® ÆÀ¿¡ µµÀÔÀ» ¾ê±âÇØ ºÁ¾ß°Ú´Ù.

2004-08-28 3:08 PM
permalink

Ä¿¸ÇÆ®¿Í Æ®·¢¹é rss (3)

Æ®·¢¹é ÁÖ¼Ò: http://codian.net/wp/archives/2/trackback/

Bombay Dreams…

news…

2007-06-23 5:13 AM | trackback by Bombay Dreams | permalink

Erdenklang…

news…

2007-06-23 5:32 AM | trackback by Erdenklang | permalink

318ti bmw…

news…

2007-10-29 8:35 AM | trackback by 318ti bmw | permalink

Ä¿¸ÇÆ® ÀÛ¼º