16-1.String

16-1-1.»ý¼ºÀÚ

String Ŭ·¡½º´Â ¹®ÀÚ¿­À» Ç¥ÇöÇÑ´Ù. ÂüÁ¶ÇüÀÌÁö¸¸ ÄÄÆÄÀÏ·¯ÀÇ Æ¯º°ÇÑ Áö¿ø¿¡ ÀÇÇØ ±âº»Çüó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. »ç¿ë¹ýÀÌ ±²ÀåÈ÷ ½¬¿î ÆíÀÌÁö¸¸ ¸Þ¸ð¸® °ü¸® ¹æ½ÄÀÌ µ¶Æ¯ÇÏ¿© Ư¼ºÀ» Àß ÆľÇÇÏ°í ÁÖÀÇ»çÇ×À» ¼÷ÁöÇØ¾ß ¼º´É ÀúÇϾøÀÌ ¾ÈÀüÇÏ°Ô ¾µ ¼ö ÀÖ´Ù.

»ý¼ºÀÚ´Â ¹«·Á 15°³³ª Àִµ¥ µðÆúÆ® »ý¼ºÀÚ, º¹»ç »ý¼ºÀÚ´Â ¹°·ÐÀÌ°í ¹®ÀÚ³ª ¹ÙÀÌÆ® ¹è¿­·ÎºÎÅÍ »ý¼ºÇÒ ¼ö ÀÖ°í ¹è¿­ÀÇ ÀϺθ¸À» ÃëÇÒ ¼öµµ ÀÖ´Ù. ¸ðµç »ý¼ºÀÚ¸¦ ´Ù ¾Ë ÇÊ¿ä´Â ¾øÀ¸´Ï ÀÚÁÖ »ç¿ëÇÏ´Â ¸î °¡Áö¸¸ ±¸°æÇØ º¸°í ³ª¸ÓÁö´Â ÇÊ¿äÇÒ ¶§ ·¹ÆÛ·±½º¸¦ Âü°íÇÏÀÚ.

 

String()

String(byte[] bytes)

String(char[] value)

String(String original)

String(StringBuffer builder)

 

ÃëÇÏ´Â Àμö¸¦ º¸¸é ¾î¶² ½ÄÀ¸·Î ÃʱâÈ­ÇÏ´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ´Ü¼øÈ÷ ¹®ÀÚ¿­ ¸®ÅÍ·²À» ´ëÀÔÇÏ´Â ¹æ½ÄÀ¸·Îµµ ÃʱâÈ­ÇÒ ¼ö ÀÖ¾î »ý¼ºÀÚ¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ÈçÇÏÁö ¾Ê´Ù. ¹®ÀÚ ¹è¿­À» ¹®ÀÚ¿­·Î ¹Ù²Ù°Å³ª À¯´ÏÄڵ尡 ¾Æ´Ñ ÀÎÄÚµù ¹æ½ÄÀÇ ¹®ÀÚ¿­À» ÀоîµéÀÏ ¶§ Á¤µµ¸¸ »ý¼ºÀÚ°¡ »ç¿ëµÈ´Ù. ´ÙÀ½Àº String °´Ã¼¸¦ »ý¼ºÇÏ´Â ¸î °¡Áö ¹æ¹ýÀÌ´Ù.

 

stringctor

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str = new String("¾Æ¸§´Ù¿î");

          System.out.println(str);

 

          String str2 = "¿ì¸®³ª¶ó";

          System.out.println(str2);

         

          char[] ar = { 'k', 'o', 'r', 'e', 'a' };

          String str3 = new String(ar);

          System.out.println(str3);

         

          System.out.println("´ëÇѹα¹".length());

     }

}

¾Æ¸§´Ù¿î

¿ì¸®³ª¶ó

korea

4

 

String °´Ã¼¸¦ »ý¼ºÇÏ´Â ¿ø·ÐÀûÀÎ ¹æ¹ýÀº new ¿¬»êÀÚ·Î »ý¼ºÀÚ¸¦ È£ÃâÇÏ´Â °ÍÀ̸ç Àμö·Î ÃʱâÈ­¿¡ »ç¿ëÇÒ ¹®ÀÚ¿­ ¸®ÅÍ·²À» Àü´ÞÇÑ´Ù. ´Ù¸¥ °´Ã¼¸¦ »ý¼º ¹× ÇÒ´çÇÏ´Â ¹æ¹ý°ú °°À¸¸ç str ¹®ÀÚ¿­À» ÀÌ ¹æ¹ýÀ¸·Î »ý¼ºÇß´Ù.

»ç¿ë ºóµµ°¡ ³ô¾Æ ¸®ÅÍ·²À» ´ëÀÔÇÏ´Â °£ÆíÇÑ ¹æ¹ýÀ» Çã¿ëÇϸç ÁÖ·Î ÀÌ ¹æ¹ýÀ» ¸¹ÀÌ ¾´´Ù. str2 ¹®ÀÚ¿­Àº "¿ì¸®³ª¶ó" ¸®ÅÍ·²À» = ±âÈ£ ´ÙÀ½¿¡ ´ëÀÔÇÏ¿© ÃʱâÈ­Çß´Ù. »ý¼ºÀÚ·Î ¹®ÀÚÀÇ ¹è¿­À» Àü´ÞÇÏ¸é ¹®ÀÚ ¿ä¼Ò·Î ±¸¼ºµÈ ¹®ÀÚ¿­ÀÌ »ý¼ºµÈ´Ù. str3Àº ¹®ÀÚÀÇ ÁýÇÕÀÎ ar ¹è¿­ÀÇ ´Ù¼¸ ±ÛÀÚ¸¦ ¸ð¾Æ korea¶ó´Â ¹®ÀÚ¿­·Î ÃʱâÈ­µÈ´Ù.

¹®ÀÚ¿­ ¸®ÅÍ·²µµ String °´Ã¼·Î Ãë±ÞµÇ¹Ç·Î StringÀÇ ¸ðµç ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. "´ëÇѹα¹"À̶ó´Â ¸®ÅÍ·²¿¡ ´ëÇØ length() ¸Þ¼­µå¸¦ È£ÃâÇÏ¸é ¸®ÅÍ·²ÀÇ ±æÀÌÀÎ 4°¡ ¸®ÅϵȴÙ. String Ŭ·¡½ºÀÇ ¹®ÀÚ¿­ °ü·Ã ¸Þ¼­µå¸¦ Çϳª¾¿ ¿¬±¸ÇØ º¸ÀÚ. ´ÙÀ½ ¸Þ¼­µå´Â ¹®ÀÚ¿­ÀÇ ±âº»ÀûÀÎ Á¤º¸¸¦ Á¶»çÇÑ´Ù.

 

int length()

boolean isEmpty()

char charAt(int index)

 

length ¸Þ¼­µå´Â ¹®ÀÚ¿­ÀÇ ±æÀ̸¦ Á¶»çÇÑ´Ù. À¯´ÏÄÚµå ¹®ÀÚÀÇ °³¼ö¸¦ Á¶»çÇϸç Çѱ۵µ ÇϳªÀÇ ¹®ÀÚ·Î Ãë±ÞµÈ´Ù. isEmpty´Â ¹®ÀÚ¿­ÀÌ ºñ¾î ÀÖ´ÂÁö Á¶»çÇÑ´Ù. if (str.length() == 0) Á¶°ÇÀ¸·Î ±æÀÌ°¡ 0ÀÎÁö º¸¸é µÇÁö¸¸ isEmpty´Â ºñ¾î ÀÖ´ÂÁö¸¸ Á¡°ËÇϱ⠶§¹®¿¡ ÈξÀ ºü¸£´Ù.

charAtÀº index À§Ä¡ÀÇ ¹®ÀÚ Çϳª¸¦ Á¶»çÇÑ´Ù. index´Â Ç×»ó 0ºÎÅÍ ½ÃÀÛÇϸç ù ¹ø° ¹®ÀÚ°¡ 0¹øÀÌ°í ¸¶Áö¸· ¹®ÀÚ´Â ¹®ÀÚ¿­ÀÇ ±æÀ̺¸´Ù Çϳª ´õ ÀÛ´Ù. index Àμö´Â 0 ~ length()-1 ¹üÀ§ ¾È¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

 

stringlength

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str = "¾Æ¸§´Ù¿î ¿ì¸®³ª¶ó";

          System.out.println("±æÀÌ : " + str.length());

          System.out.println("2¹ø° ¹®ÀÚ : " + str.charAt(2));

     }

}

±æÀÌ : 9

2¹ø° ¹®ÀÚ : ´Ù

 

¹®ÀÚ¿­ º¯¼ö¸¦ Çϳª ¼±¾ðÇÏ°í length ¸Þ¼­µå·Î ±æÀ̸¦ Á¶»çÇß´Ù. Çѱ۸¸ º¸¸é ¿©´ü ±ÛÀÚ·Î º¸ÀÌÁö¸¸ °¡¿îµ¥ °ø¹éµµ ÇϳªÀÇ ¹®ÀÚ¿©¼­ ÃÑ 9 ±ÛÀÚÀÌ´Ù. charAt ¸Þ¼­µå·Î 2¹ø° ¹®ÀÚ¸¦ Á¶»çÇß´Ù. ¿ì¸®°¡ ÈçÈ÷ ¾²´Â ¼­¼ö Ç¥ÇöÀΠù ¹ø°, µÎ ¹ø°´Â 1À» ±âÁ¡À¸·Î ÇÏÁö¸¸ 1¹ø°, 2¹ø°¶ó´Â Ç¥ÇöÀº 0À» ±âÁ¡À¸·Î ÇÏ´Â °ÍÀÌ °üÇàÀÌ´Ù.

ÀÚ¹Ù¿¡¼­ ¹è¿­À̳ª ¹®ÀÚ¿­ÀÇ ½ÃÀÛÀº Ç×»ó 0ºÎÅÍ(Zero Base)À̹ǷΠ2¹ø° ¹®ÀÚ´Â "¸§"ÀÌ ¾Æ´Ñ "´Ù"ÀÓÀ» À¯ÀÇÇÏÀÚ.

16-1-2.ºñ±³

´ÙÀ½ ¸Þ¼­µå´Â µÎ ¹®ÀÚ¿­À» ºñ±³ÇÑ´Ù. ´ë¼Ò¹®ÀÚ ±¸ºÐ ¿©ºÎ¿¡ µû¶ó »óµî, ´ë¼Ò¸¦ ºñ±³ÇÏ´Â 4°³ÀÇ ¸Þ¼­µå°¡ Á¦°øµÈ´Ù. ³»¿ëÀÌ ¾Æ´Ñ ÂüÁ¶¸¸ Á¡°ËÇÏ´Â == ¿¬»êÀڷδ Á¤È®È÷ ºñ±³ÇÒ ¼ö ¾øÀ¸¸ç <, > ºÎµî ºñ±³´Â ¼öÄ¡Çü¿¡¸¸ ¾µ ¼ö ÀÖ´Ù. ¹®ÀÚ¿­ÀÇ ³»¿ëÀ» ºñ±³ÇÒ ¶§´Â ¿¬»êÀÚ ´ë½Å ¸Þ¼­µå¸¦ »ç¿ëÇÑ´Ù.

 

boolean equals(Object anObject)

boolean equalsIgnoreCase(String anotherString)

int compareTo(String anotherString)

int compareToIgnoreCase(String str)

 

equals ¸Þ¼­µå´Â µÎ ¹®ÀÚ¿­ÀÌ °°ÀºÁö ºñ±³Çϸç compareTo ¸Þ¼­µå´Â ¾î¶² ¹®ÀÚ¿­ÀÌ ´õ ¾ÕÂÊÀÎÁö Á¶»çÇÑ´Ù. À̸§ µÚ¿¡ IgnoreCase°¡ ºÙÀº ¸Þ¼­µå´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê´Â´Ù.

 

strcompare

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str1 = "KOREA";

          String str2 = "korea";

         

          System.out.println(str1.equals(str2) ? "°°´Ù":"´Ù¸£´Ù");

          System.out.println(str1.equalsIgnoreCase(str2) ? "°°´Ù":"´Ù¸£´Ù");

         

          String apple = "Apple";

          String orange = "Orange";

          int Result = apple.compareTo(orange);

          if (Result == 0) {

              System.out.println("°°´Ù");

          } else if (Result < 0) {

              System.out.println("AppleÀÌ ´õ ¾ÕÂÊ");

          } else if (Result > 0) {

              System.out.println("AppleÀÌ ´õ µÚÂÊ");

          }

     }

}

´Ù¸£´Ù

°°´Ù

AppleÀÌ ´õ ¾ÕÂÊ

 

str1°ú str2 ¹®ÀÚ¿­Àº ³»¿ëÀÌ °°°í ´ë¼Ò¹®ÀÚ ±¸¼º¸¸ ´Ù¸£´Ù. equals´Â öÀÚ°¡ °°¾Æµµ ´ë¼Ò¹®ÀÚ ±¸¼º¿¡ µû¶ó ´Ù¸¥ ¹®ÀÚ¿­·Î Æò°¡ÇÑ´Ù. ¹Ý¸é equalsIgnoreCase´Â öÀÚ¸¸ °°À¸¸é °°Àº ¹®ÀÚ¿­·Î Æò°¡ÇÑ´Ù. ¿µ¹®Àº ´ë¼Ò¹®ÀÚ ±¸ºÐ ¿©ºÎ¿¡ µû¶ó Á¤È®ÇÑ ¸Þ¼­µå·Î ºñ±³ÇØ¾ß ÇÑ´Ù. ÇѱÛÀº ´ë¼Ò¹®ÀÚÀÇ °³³äÀÌ ¾ø¾î equals·Î ÆòÀÌÇÏ°Ô ºñ±³ÇÏ¸é µÈ´Ù.

compareTo´Â »çÀü¼øÀ¸·Î Á¤·ÄÇÒ ¶§ÀÇ ÀüÈÄ °ü°è¸¦ Á¶»çÇϸç Á¤¼öÇüÀ» ¸®ÅÏÇÑ´Ù. µÎ ¹®ÀÚ¿­ÀÌ °°À¸¸é 0À», È£Ãâ ¹®ÀÚ¿­ÀÌ ´õ ¾ÕÂÊÀ̸é À½¼ö, È£Ãâ ¹®ÀÚ¿­ÀÌ ´õ µÚÂÊÀÌ¸é ¾ç¼ö¸¦ ¸®ÅÏÇÑ´Ù. Apple°ú Orange¸¦ ´ë¼Ò ºñ±³ÇÏ¸é ¾ËÆĺª ¼ø¼­°¡ ºü¸¥ AppleÀÌ ´õ ¾ÕÂÊÀÌ´Ù.

¹®ÀÚÀÇ ´ë¼Ò ºñ±³´Â °ð ¹®ÀÚ ÄÚµåÀÇ Å©°í ÀÛÀ½À» ÀǹÌÇÑ´Ù. ´Ü¾î¸¦ »çÀü¼øÀ¸·Î ³ª¿­ÇßÀ» ¶§ ´õ ¾ÕÂÊ¿¡ ¿À´Â ¹®ÀÚ°¡ ÀÛÀº °ÍÀ¸·Î Æò°¡µÈ´Ù. compareToIgnoreCase´Â ´ë¼Ò¹®ÀÚ ±¸ºÐÀ» ¹«½ÃÇÏ°í »çÀü¼øÀ¸·Î ºñ±³ÇÑ´Ù. Á¦Ç° Äڵ峪 »ç¶÷ À̸§ µîÀº »ç¿ëÀÚ°¡ ´ë¼Ò¹®ÀÚ¿¡ ½Å°æ¾²Áö ¾Ê°í ÀÔ·ÂÇÏ´Â °æ¿ì°¡ ¸¹¾Æ ´ë¼Ò¹®ÀÚ¸¦ ¹«½ÃÇÏ°í ºñ±³ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

16-1-3.°Ë»ö

°Ë»ö ¸Þ¼­µå´Â ¹®ÀÚ¿­¿¡¼­ ¹®ÀÚ Çϳª ¶Ç´Â ºÎºÐ ¹®ÀÚ¿­À» °Ë»öÇÑ´Ù. ¾ÕÂÊÀ̳ª µÚÂÊÀÇ ½ÃÀÛ ¹æÇâ¿¡ µû¶ó °Ë»ö ¸Þ¼­µå¸¦ ¼±ÅÃÇÏ¸ç µÎ ¹ø° ¿É¼Ç Àμö·Î °Ë»ö ½ÃÀÛ À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. ½ÃÀÛ À§Ä¡¸¦ »ý·«Çϸé óÀ½ºÎÅÍ ¶Ç´Â ³¡¿¡¼­ºÎÅÍ °Ë»öÀ» ½ÃÀÛÇÑ´Ù. °Ë»öµÈ À§Ä¡¸¦ ¸®ÅÏÇ쵂 ¹ß°ßµÇÁö ¾ÊÀ¸¸é -1À» ¸®ÅÏÇÑ´Ù.

 

int indexOf(int ch [,int fromIndex])

int lastIndexOf(int ch [,int fromIndex])

int indexOf(String str [,int fromIndex])

int lastIndexOf(String str [,int fromIndex])

 

 

indexof

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str = "String Search Method of String Class";

         

          System.out.println("¾ÕÂÊ t = " + str.indexOf('t'));

          System.out.println("µÚÂÊ t = " + str.lastIndexOf('t'));

          System.out.println("¾ÕÂÊ z = " + str.indexOf('z'));

          System.out.println("¾ÕÂÊ String = " + str.indexOf("String"));

          System.out.println("µÚÂÊ String = " + str.lastIndexOf("String"));

     }

}

¾ÕÂÊ t = 1

µÚÂÊ t = 25

¾ÕÂÊ z = -1

¾ÕÂÊ String = 0

µÚÂÊ String = 24

 

±ä ¿µ¹® ¹®Àå¿¡¼­ ¾ËÆĺª°ú ºÎºÐ ¹®ÀÚ¿­À» ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î °Ë»öÇØ º¸¾Ò´Ù. ¾ËÆĺª t´Â ¿©·¯ ¹ø ³ªÅ¸³ª´Âµ¥ ¾Õ¿¡¼­ ãÀ¸¸é ¾ÕÂÊÀÇ t°¡ Á¶»çµÇ°í µÚ¿¡¼­ ãÀ¸¸é µÚÂÊÀÇ t°¡ Á¶»çµÈ´Ù. ¾ËÆĺª z´Â ¾ø¾î -1À» ¸®ÅÏÇÑ´Ù.

µÚÂÊ¿¡¼­ºÎÅÍ Ã£´õ¶óµµ ¸®ÅϵǴ °Ë»ö À§Ä¡´Â Ç×»ó ¾Õ¿¡¼­ºÎÅÍÀÇ ¼ø¼­°ªÀÌ´Ù. µÚÂÊ¿¡¼­ t¸¦ ãÀ¸¸é µÚÂÊ¿¡¼­ 10¹ø°°¡ ¾Æ´Ñ ¾ÕÂÊ¿¡¼­ 25¹ø°·Î ¸®ÅϵȴÙ. ºÎºÐ ¹®ÀÚ¿­ StringÀÇ À§Ä¡µµ ¾Õ¿¡¼­ ã´Â°¡ µÚ¿¡¼­ ã´Â°¡¿¡ µû¶ó °Ë»ö À§Ä¡°¡ ´Þ¶óÁø´Ù. ´ÙÀ½ µÎ ¸Þ¼­µå´Â ¹®ÀÚ¿­ÀÇ ¾ÕºÎºÐ°ú µÞºÎºÐÀÌ Æ¯Á¤ ¹®ÀÚ¿­ÀÎÁö Á¶»çÇÏ¿© ÁøÀ§Çü °ªÀ» ¸®ÅÏÇÑ´Ù.

 

boolean startsWith(String prefix)

boolean endsWith(String suffix)

 

indexOf³ª lastIndexOf·Î ºÎºÐ ¹®ÀÚ¿­À» °Ë»öÇؼ­ óÀ½À̳ª ³¡ÀÌ ¸Â´ÂÁö È®ÀÎÇÒ ¼öµµ ÀÖÁö¸¸ ÀÌ ¸Þ¼­µå´Â ÁøÀ§ÇüÀ» ¸®ÅÏÇϹǷΠÁ¶°Ç¹®¿¡ ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ¾î °£ÆíÇÏ´Ù.

 

startswith

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String[] files = {

                   "girl.jpg",

                   "boy.png",

                   "child.avi",

                   "school.jpg",

                   "book.gif"

          };

         

          for (String s : files) {

              if (s.endsWith(".jpg")) {

                   System.out.println(s);

              }

          }

     }

}

girl.jpg

school.jpg

 

´Ù¼¸ °³ÀÇ ÆÄÀÏ Áß È®ÀåÀÚ°¡ .jpg ÀÎ ÆÄÀϸ¸ °ñ¶ó³½´Ù. ¹è¿­À» ¼øȸÇÏ¸ç °¢ ¹®ÀÚ¿­¿¡ ´ëÇØ endsWith ¸Þ¼­µå·Î ³¡ºÎºÐÀÌ ".jpg"ÀÎÁö Á¶»çÇØ º¸¸é µÈ´Ù. startsWith ¸Þ¼­µå·Î ¹®ÀÚ¿­ ¾ÕºÎºÐÀ» Á¡°ËÇÏ¸é »ç¶÷ À̸§ ¸ñ·Ï¿¡¼­ ¼ºÀÌ "±è"°¡ÀÎ »ç¶÷¸¸ ÃßÃâÇس¾ ¼ö ÀÖ´Ù.

16-1-4.º¯°æ

¹®ÀÚ¿­ º¯°æ ¸Þ¼­µå´Â ¹®ÀÚ¿­À» Á¶ÀÛÇÏ¿© ³»¿ëÀ» º¯°æÇÑ´Ù. ´ÙÀ½°ú °°Àº ¸Þ¼­µå°¡ Àִµ¥ ¾î¶² º¯°æÀ» °¡ÇÏ´ÂÁö ¸Þ¼­µå À̸§À¸·ÎºÎÅÍ ½±°Ô ¾Ë ¼ö ÀÖ´Ù.

 

¸Þ¼­µå

¼³¸í

String toLowerCase()

¿µ¹®ÀÚ¸¦ ¸ðµÎ ¼Ò¹®ÀÚ·Î º¯°æÇÑ´Ù. ´ë¼Ò¹®ÀÚ ±ÔÄ¢Àº µðÆúÆ® ·ÎÄÉÀÏÀ» µû¸¥´Ù. ·ÎÄÉÀÏÀ» º°µµÀÇ Àμö·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.

String toUpperCase()

¿µ¹®ÀÚ¸¦ ¸ðµÎ ´ë¹®ÀÚ·Î º¯°æÇÑ´Ù.

String trim()

¾ÕµÚÀÇ ºÒÇÊ¿äÇÑ °ø¹éÀ» Á¦°ÅÇÑ´Ù.

String concat(String str)

¹®ÀÚ¿­À» ¿¬°áÇÑ´Ù.

String replace(char oldChar, char newChar)

¹®ÀÚ¿­ ³»ÀÇ ¸ðµç oldChar ¹®ÀÚ¸¦ newChar·Î ġȯÇÑ´Ù.

String replace(CharSequence target, CharSequence replacement)

ºÎºÐ ¹®ÀÚ¿­À» ã¾Æ ´Ù¸¥ ¹®ÀÚ¿­·Î ġȯÇÑ´Ù.

String replaceFirst(String regex, String replacement)

óÀ½ °Ë»öµÇ´Â ºÎºÐ ¹®ÀÚ¿­À» ġȯÇÑ´Ù.

String replaceAll(String regex, String replacement)

ºÎºÐ ¹®ÀÚ¿­À» ¸ðµÎ ã¾Æ ġȯÇÑ´Ù. °Ë»ö ¹®ÀÚ¿­Àº Á¤±Ô Ç¥Çö½ÄÀÌ´Ù.

 

º¯°æ ¸Þ¼­µå´Â ¹®ÀÚ¿­ ÀÚü¸¦ Á÷Á¢ º¯°æÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó º¯°æµÈ »õ·Î¿î ¹®ÀÚ¿­À» ¸®ÅÏÇÑ´Ù´Â Á¡À» À¯ÀÇÇÏÀÚ. ´ëÇ¥ÀûÀ¸·Î °¡Àå ½¬¿î ´ë¼Ò¹®ÀÚ º¯È¯ ¸Þ¼­µå¸¦ Å×½ºÆ®ÇØ º¸ÀÚ.

 

changecase

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str = "Kim Sang Hyung";

         

          System.out.println(str.toLowerCase());

          System.out.println(str.toUpperCase());

         

          // ¹®ÀÚ¿­ ÀÚü¸¦ º¯°æÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.

          str.toUpperCase();

          System.out.println(str);

         

          // ¹®ÀÚ¿­À» º¯°æÇÏ·Á¸é ´Ù½Ã ´ëÀÔ¹Þ¾Æ¾ß ÇÑ´Ù.

          str = str.toUpperCase();

          System.out.println(str);

     }

}

kim sang hyung

KIM SANG HYUNG

Kim Sang Hyung

KIM SANG HYUNG

 

´ë¼Ò¹®ÀÚ°¡ ¼¯¿© ÀÖ´Â str ¹®ÀÚ¿­À» °¢°¢ ¼Ò¹®ÀÚ¿Í ´ë¹®ÀÚ·Î ¹Ù²Ù¾î Ãâ·ÂÇß´Ù. ¸ðµÎ ¼Ò¹®ÀÚ·Î ¹Ù²î°Å³ª ¸ðµÎ ´ë¹®ÀÚ·Î ¹Ù²î¾î Ãâ·ÂµÈ´Ù. ¿©±â±îÁö¸¸ º¸¸é ¾ÆÁÖ ½¬¿ö º¸ÀδÙ. ÁÖÀÇÇÒ °ÍÀº toUpperCase ¸Þ¼­µå´Â ¹®ÀÚ¿­ ÀÚü¸¦ ´ë¹®ÀÚ·Î º¯°æÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿øº»Àº ±×´ë·Î µÎ°í ´ë¹®ÀÚ·Î ±¸¼ºµÈ »õ·Î¿î ¹®ÀÚ¿­À» ¸®ÅÏÇÑ´Ù´Â °ÍÀÌ´Ù.

str¿¡ ´ëÇØ toUpperCase ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù°í Çؼ­ strÀÌ ¸ðµÎ ´ë¹®ÀÚ·Î ¹Ù²î´Â °ÍÀº ¾Æ´Ï¸ç ¿ø·¡ÀÇ ³»¿ëÀ» À¯ÁöÇÑ´Ù. str ÀÚü´Â ±×´ë·Î µÎ°í strÀÇ ³»¿ëÀ» ÀÐ¾î ´ë¹®ÀÚ·Î ±¸¼ºµÈ »õ ¹®ÀÚ¿­À» ¸¸µé¾î ¸®ÅÏÇÒ »ÓÀÌ´Ù. ¼¼ ¹ø° Ãâ·Â °á°ú¸¦ º¸¸é strÀº ÀüÇô º¯°æµÇÁö ¾Ê¾Ò´Ù. ¸¸¾à str ÀÚü¸¦ ´ë¹®ÀÚ·Î ¹Ù²Ù°í ½Í´Ù¸é º¯°æµÈ °á°ú¸¦ ÀÚ½ÅÀÌ ´Ù½Ã ´ëÀԹ޴´Ù.

 

str = str.toUpperCase();

 

ÀÌ·¸°Ô Çϸé str·ÎºÎÅÍ ´ë¹®ÀÚ·Î º¯°æÇÑ »õ ¹®ÀÚ¿­À» strÀÌ ´Ù½Ã ´ëÀÔ¹Þ¾Æ ÂüÁ¶ÇÏ´Â ¹®ÀÚ¿­ÀÌ ¹Ù²ï´Ù. ÀÚ¹ÙÀÇ String °´Ã¼´Â ÃÖÃÊ »ý¼ºµÈ ÈÄ ³»¿ëÀÌ Àý´ë ¹Ù²îÁö ¾Ê´Â´Ù. Áï, ÀÚ¹ÙÀÇ String °´Ã¼´Â ÃÖÃÊ ÃʱâÈ­µÈ ÈÄ Ç×»ó Àбâ Àü¿ëÀÌ´Ù. ´ÙÀ½ Äڵ带 º¸ÀÚ.

 

String str = "Java";

str = "ÀÚ¹Ù";

 

strÀ» "Java"·Î ÃʱâÈ­ÇÑ ÈÄ "ÀÚ¹Ù"¸¦ ´ëÀÔÇß´Ù. strÀÇ ³»¿ëÀÌ ¹Ù²î´Â °Í °°Áö¸¸ ±×·¸Áö ¾ÊÀ¸¸ç str º¯¼ö°¡ ÂüÁ¶ÇÏ´Â ¹®ÀÚ¿­ÀÌ ¹Ù²î´Â °ÍÀÌ´Ù. strÀº ¾îµð±îÁö³ª ¹®ÀÚ¿­À» °¡¸®Å°´Â ÂüÁ¶ º¯¼öÀÏ »ÓÀÌ¸ç ´ë»ó ¹®ÀÚ¿­ÀÌ º¯°æµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó »õ·Î¿î ¹®ÀÚ¿­À» °¡¸®Å°´Â °ÍÀÌ´Ù.

ÂüÁ¶ º¯¼ö°¡ °¡¸®Å°Áö ¾Ê´Â ¹®ÀÚ¿­ °´Ã¼´Â ´õ ÀÌ»ó ¾µ¸ð°¡ ¾ø¾î °¡ºñÁö Ä÷ºÅÍ¿¡ ÀÇÇØ Á¦°ÅµÈ´Ù. ¸ðµç ¹®ÀÚ¿­ º¯°æ ¸Þ¼­µå´Â È£Ãâ °´Ã¼´Â ±×´ë·Î µÎ°í º¯°æµÈ °á°ú¸¦ »õ ¹®ÀÚ¿­ °´Ã¼·Î ¸¸µé¾î ¸®ÅÏÇÑ´Ù.

trim ¸Þ¼­µå´Â ¾ÕµÚÀÇ ºÒÇÊ¿äÇÑ °ø¹éÀ» Á¦°ÅÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¹®ÀÚ¿­Àº Àǹ̾ø´Â °ø¹éÀÌ ÀÖ´Â °æ¿ì°¡ ¸¹Àºµ¥ ÀúÀåÀ̳ª ºñ±³ Àü¿¡ Á¦°ÅÇÏ´Â °ÍÀÌ ÁÁ´Ù. concat ¸Þ¼­µå´Â ¹®ÀÚ¿­À» ¿¬°áÇϴµ¥ + ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â °Í°ú È¿°ú°¡ °°´Ù.

 

trim

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str = "      Kim Sang Hyung    ";

         

          System.out.println(str.trim());

          System.out.println(str.trim().concat(" BABO"));

     }

}

Kim Sang Hyung

Kim Sang Hyung BABO

 

¾ÕµÚ·Î °ø¹éÀÌ ÀÖ´Â ¹®ÀÚ¿­À» trimÀ¸·Î Á¤¸®ÇßÀ¸¸ç concatÀ¸·Î µÚ¿¡ ¹®ÀÚ¿­À» µ¡ºÙ¿´´Ù. ´ëºÎºÐÀÇ ¹®ÀÚ¿­ ¸Þ¼­µå´Â º¯°æµÈ StringÀ» ¸®ÅÏÇϹǷΠ¸Þ¼­µå¸¦ ¿¬¼âÀûÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ´Ù. trimÀÌ ¸®ÅÏÇÑ °´Ã¼¿¡ ´ëÇØ concatÀ» ¹Ù·Î È£ÃâÇÏ¿© Àß¶ó³½ ¹®ÀÚ¿­ µÚ¿¡ ¶Ç ¹º°¡¸¦ µ¡ºÙ¿´´Ù. concatµµ StringÀ» ¸®ÅÏÇϹǷΠ´Ù¸¥ ¹®ÀÚ¿­ ó¸® ¸Þ¼­µå¸¦ ¿¬¼âÀûÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ´Ù.

 

str.trim().concat(....).toUpperCase().replace (....)

 

replace* ¸Þ¼­µå´Â ¹®ÀÚ³ª ¹®ÀÚ¿­À» ã¾Æ ³»¿ëÀ» ġȯÇÑ´Ù. ¿ø·¡ ¹®ÀÚ¿­°ú ġȯµÇ´Â ¹®ÀÚ¿­ÀÇ ±æÀÌ°¡ ´Þ¶óµµ »ó°ü¾ø´Ù.

 

replace

class JavaTest {

     public static void main(String[] args) {

          String str = "µ¶µµ´Â ÀϺ»¶¥ÀÌ´Ù. ´ë¸¶µµ´Â ÀϺ»¶¥ÀÌ´Ù.";

          System.out.println(str.replace("ÀϺ»", "Çѱ¹"));

          System.out.println(str.replaceFirst("ÀϺ»", "Çѱ¹"));

     }

}

½ÇÇà°á°ú

µ¶µµ´Â Çѱ¹¶¥ÀÌ´Ù. ´ë¸¶µµ´Â Çѱ¹¶¥ÀÌ´Ù.

µ¶µµ´Â Çѱ¹¶¥ÀÌ´Ù. ´ë¸¶µµ´Â ÀϺ»¶¥ÀÌ´Ù.

 

replace ¸Þ¼­µå´Â ¸ðµç ¹®ÀÚ¿­À» ã¾Æ º¯°æÇϸç replaceFirst´Â ù ¹ø° ¹®ÀÚ¿­¸¸ º¯°æÇÑ´Ù. replaceFirst¿Í replaceAll ¸Þ¼­µå´Â Àμö·Î Á¤±Ô½ÄÀ» »ç¿ëÇÏ¿© ´õ º¹ÀâÇÑ Ä¡È¯À» ó¸®ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â ¹®ÀÚ¿­ÀÇ ÀϺθ¦ À߶ó »õ·Î¿î ¹®ÀÚ¿­ °´Ã¼¸¦ ¸¸µç´Ù.

 

String substring(int beginIndex [, int endIndex])

 

½ÃÀÛÁ¡¿¡¼­ ³¡Á¡ ¹Ù·Î Á÷Àü±îÁö ÃßÃâÇÏ¸ç ³¡Á¡À» »ý·«ÇÏ¸é ³¡±îÁö ÃßÃâÇÑ´Ù. ³¡Á¡ ÀÚü´Â ºÎºÐ ¹®ÀÚ¿­¿¡ Æ÷ÇÔµÇÁö ¾ÊÀ½À» À¯ÀÇÇÏÀÚ.

 

substring

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String str = "0123456789";

          System.out.println(str.substring(3,7));

         

          String name = "Á¦ À̸§Àº <±èÇÑ°á>ÀÔ´Ï´Ù.";

          int st, ed;

          st = name.indexOf('<');

          ed = name.indexOf('>');

          System.out.println(name.substring(st+1,ed));

     }

}

3456

±èÇÑ°á

 

0~9ÀÇ ¼ýÀÚ¸¦ °¡Áø ¹®ÀÚ¿­¿¡¼­ 3¿¡¼­ 7±îÁö ÃßÃâÇß´Ù. 3Àº Æ÷ÇÔµÇÁö¸¸ 7Àº Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ¾Æ·¡ÂÊ ÄÚµå´Â ¹®ÀÚ¿­¿¡¼­ < > °ýÈ£ ¾ÈÀÇ ³»¿ëÀ» ÃßÃâÇÑ´Ù. < ¿Í >ÀÇ À§Ä¡¸¦ ã¾Æ ºÎºÐ ¹®ÀÚ¿­À» ÃßÃâÇ쵂 < ÀÚü´Â ³»¿ë¿¡ Æ÷ÇÔµÇÁö ¾Ê¾Æ ½ÃÀÛÁ¡º¸´Ù ÇÑ Ä­ ´õ µÚÂÊ¿¡¼­ ÃßÃâÀ» ½ÃÀÛÇÑ´Ù. >´Â ÃßÃâ ´ë»óÀÌ ¾Æ´Ï¹Ç·Î >ÀÇ À§Ä¡¸¦ ³¡Á¡À¸·Î Àü´ÞÇϸé > ÀÌÀüÀÇ ¹®ÀÚ±îÁö Á¤È®ÇÏ°Ô ÃßÃâµÈ´Ù.

¹®ÀÚ¿­Àº ÂüÁ¶ÇüÀ̸鼭 ±âº»Çü°ú À¯»çÇÑ Æ¯¼ºÀ» º¸ÀδÙ. ÂüÁ¶Çü º¯¼ö´Â »çº»ÀÌ ¿øº»°ú °°Àº ´ë»óÀ» °¡¸®Å³ ¶§ »çº»À» º¯°æÇÏ¸é ¿øº»µµ °°ÀÌ º¯°æµÇÁö¸¸ ¹®ÀÚ¿­Àº ¿¹¿ÜÀûÀ¸·Î µ¿ÀÛÇÑ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸ÀÚ.

 

strassign

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String s = "korea";

          String s2 = s;

         

          s2 += " fighting";

         

          System.out.println("s = " + s);

          System.out.println("s2 = " + s2);

     }

}

s = korea

s2 = korea fighting

 

s2¸¦ sÀÇ »çº»À¸·Î ÃʱâÈ­ÇÏ°í s2¿¡ ¹®ÀÚ¿­À» µ¡ºÙ¿´´Ù. ¿øº»ÀÎ sµµ ¹Ù²ð °Å °°Áö¸¸ s2¸¸ ¹Ù²î¸ç ¿øº»Àº ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù. ÀÌ·¸°Ô µÇ´Â ÀÌÀ¯´Â ¹®ÀÚ¿­Àº Àбâ Àü¿ëÀÌ¸ç º¯°æÇÒ ¶§ º°µµÀÇ »çº»À» »ý¼ºÇϱ⠶§¹®ÀÌ´Ù. ÃÖÃÊ s2°¡ s¸¦ ´ëÀÔ¹ÞÀ» ¶§´Â °°Àº ¹®ÀÚ¿­À» °¡¸®Å°Áö¸¸ ³»¿ëÀÌ ¹Ù²î¸é »õ·Î¿î °´Ã¼¸¦ »ý¼ºÇϵµ·Ï µÇ¾î ÀÖ¾î ¿øº»ÀÎ s´Â ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù.

ÀÌ·± Ư¼º¿¡ ÀÇÇØ ¹®ÀÚ¿­Àº ÂüÁ¶ÇüÀ̸鼭µµ ±âº»Çüó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹®ÀÚ¿­ Çʵ忡 ´ëÇØ ±íÀº º¹»ç¸¦ ÇÏÁö ¾Ê¾Æµµ º¯°æ Á÷Àü¿¡ »õ·Î¿î ¸Þ¸ð¸®°¡ ÇÒ´çµÇ´Â ½ÄÀ̶ó ±íÀº º¹»ç¸¦ ÇÑ °Í°ú °°Àº È¿°ú°¡ ³ªÅ¸³­´Ù.

16-1-5.ÅäÅ« ºÐÇÒ

¹®ÀÚ¿­Àº ±æÀÌ Á¦ÇÑÀÌ ¾ø°í Ưº°ÇÑ Çü½Ä¾øÀÌ ÀÓÀÇÀÇ Á¤º¸¸¦ Ç¥±âÇÒ ¼ö ÀÖ¾î ¹ü¿ëÀûÀÌ´Ù. ÇÑ ¹®ÀÚ¿­¿¡ ¿©·¯ °¡Áö Á¤º¸¸¦ ÅëÇÕ ÀúÀåÇϴµ¥ À̶§ °¢ ÀÚ·á »çÀÌ¿¡ ±¸ºÐÀÚ ±âÈ£°¡ »ðÀԵȴÙ. ¿¹¸¦ µé¾î µð·ºÅ͸® °æ·Î ¹®ÀÚ¿­À» º¸ÀÚ.

 

user/data/app/local

 

ÃÖÁ¾ µð·ºÅ͸®¿¡ À̸£´Â °æ·Î Á¤º¸¸¦ Ç¥ÇöÇÏ¸ç °¢ µð·ºÅ͸® »çÀÌ¿¡ / ±¸ºÐÀÚ°¡ ÀÖ´Ù. ±¸ºÐÀÚ·Î ±¸ºÐµÈ ºÎºÐ ¹®ÀÚ¿­À» ÅäÅ«À̶ó°í ÇÑ´Ù. °æ·Î ¹®ÀÚ¿­Àº µð·ºÅ͸® À̸§ÀÌ ÅäÅ«ÀÌ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â ÅëÇÕ ¹®ÀÚ¿­¿¡¼­ ÅäÅ«À» ºÐ¸®ÇÑ´Ù.

 

String[] split(String regex, [int limit])

 

ù ¹ø° Àμö regex´Â ±¸ºÐÀÚ¸¦ Ç¥ÇöÇÏ´Â Á¤±Ô Ç¥Çö½ÄÀÌ¸ç °£´ÜÇÏ°Ô ±¸ºÐÀÚ ¹®ÀÚ¶ó°í »ý°¢ÇÏ¸é µÈ´Ù. µÎ ¹ø° Àμö limit´Â Àüü ¹®ÀÚ¿­À» ¸î °³ÀÇ ÅäÅ«À¸·Î ³ª´­ °ÍÀΰ¡¸¦ ÁöÁ¤Çϴµ¥ »ý·«½Ã 0ÀÌ Àû¿ëµÇ¾î ¸ðµç ÅäÅ«À» ÃßÃâÇÑ´Ù. limit¸¦ ÁöÁ¤Çϸé ÀÌ °³¼ö¸¸Å­¸¸ ÃßÃâÇÏ¸ç ³ª¸ÓÁö µÚÂÊÀº ¸ðµÎ Çϳª·Î ÇÕÄ£´Ù. ÃßÃâµÈ ÅäÅ«Àº ¹®ÀÚ¿­ÀÇ ¹è¿­·Î ¸®ÅϵȴÙ.

 

split

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          String city = "¼­¿ï,´ëÀü,´ë±¸,ºÎ»ê";

          String[] token = city.split(",");

 

          for (String s : token) {

              System.out.println(s);

          }

     }

}

¼­¿ï

´ëÀü

´ë±¸

ºÎ»ê

 

ÄÞ¸¶ ±¸ºÐÀÚ·Î µµ½Ã¸íÀÌ ÀúÀåµÈ city ¹®ÀÚ¿­¿¡¼­ °¢°¢ÀÇ µµ½Ã¸íÀ» ºÐ¸®ÇÏ¿© Ãâ·ÂÇß´Ù. ÄÞ¸¶¸¦ ±¸ºÐÀÚ·Î ÇÏ¿© split ¸Þ¼­µå¸¦ È£ÃâÇϸé ÅäÅ«ÀÇ ¹è¿­ÀÌ ¸®ÅÏµÇ¸ç ·çÇÁ·Î ¹è¿­À» ¼øȸÇϸ鼭 4°³ÀÇ µµ½Ã¸¦ Ãâ·ÂÇß´Ù. ´ÙÀ½ ¸Þ¼­µå´Â split ¸Þ¼­µå¿Í ¹Ý´ë·Î ±¸ºÐÀÚ¸¦ ¹®ÀÚ¿­ »çÀÌ¿¡ ³¢¿ö ³Ö¾î Àüü ¹®ÀÚ¿­À» Á¶¸³ÇÑ´Ù.

 

static String join(CharSequence delimiter, CharSequence... elements)

static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)

 

ù ¹ø° Àμö·Î ±¸ºÐÀÚ¸¦ ÁÖ°í µÎ ¹ø° Àμö·Î °¢°¢ÀÇ ¹®ÀÚ¿­À̳ª ¹®ÀÚ¿­ Ä÷º¼ÇÀ» Àü´ÞÇÏ¸é ±¸ºÐÀÚ¸¦ »ðÀÔÇÑ ¹®ÀÚ¿­À» Á¶¸³ÇÏ¿© ¸®ÅÏÇÑ´Ù.

 

join

import java.util.*;

 

class JavaTest {

     public static void main(String[] args) {

          String path = String.join("/", "user", "data", "app", "local");

          System.out.println(path);

         

          String seoul = "¼­¿ï", daejun = "´ëÀü", daegu = "´ë±¸", busan = "ºÎ»ê";

          String city = String.join(",", seoul, daejun, daegu, busan);

          //String city = seoul + "," + daejun + "," + daegu + "," + busan;

          System.out.println(city);

         

          List<String> subway = Arrays.asList("¼­¿ï¿ª", "³²¿µ", "¿ë»ê", "³ë·®Áø");

          System.out.println(String.join(" -> ", subway));

     }

}

½ÇÇà°á°ú

user/data/app/local

¼­¿ï,´ëÀü,´ë±¸,ºÎ»ê

¼­¿ï¿ª -> ³²¿µ -> ¿ë»ê -> ³ë·®Áø

 

µð·ºÅ͸® ±¸ºÐÀÚ¿Í ÇÔ²² ¼­ºê µð·ºÅ͸® ¸ñ·ÏÀ» Àü´ÞÇÏ¿© ÇϳªÀÇ °æ·Î·Î ÇÕÃÆ´Ù. µµ½Ã¸í°ú ÄÞ¸¶¸¦ Àü´ÞÇÏ¸é µµ½Ã¸í »çÀÌ¿¡ ÄÞ¸¶°¡ »ðÀÔµÈ ¹®ÀÚ¿­ÀÌ ¸¸µé¾îÁø´Ù. + ¿¬»êÀÚ·Î ÀÏÀÏÀÌ ±¸ºÐÀÚ¸¦ ³¢¿ö ³ÖÀ» ¼ö ÀÖÁö¸¸ ºÒÆíÇÏ´Ù. ¹®ÀÚ¿­ÀÇ ¸®½ºÆ®¸¦ Àü´ÞÇÏ¸é ¸ðµç ¿ä¼Ò »çÀÌ¿¡ ±¸ºÐÀÚ¸¦ »ðÀÔÇÑ´Ù. ±¸ºÐÀÚ´Â ¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ¿­À̾ ¿©·¯ ¹®ÀÚ¸¦ »ðÀÔÇÒ ¼ö ÀÖ´Ù.

16-1-6.StringBuffer

String °´Ã¼´Â »ó¼öÀÇ ¼ºÁúÀ» °¡Áö¸ç ÇÑ ¹ø Á¤ÇØÁö¸é ³»¿ëÀ» º¯°æÇÒ ¼ö ¾ø´Ù. ÀÌ·¸°Ô µÇ¾î ÀÖ´Â ÀÌÀ¯´Â ¹®ÀÚ¿­À» º¯°æÇÒ ÀÏÀÌ ¿¹»óº¸´Ù ºó¹øÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ºÎµæÀÌÇÏ°Ô º¯°æÇÒ ¶§´Â °´Ã¼ÀÇ ³»¿ëÀÌ ¹Ù²î´Â °ÍÀÌ ¾Æ´Ï¶ó º¯°æµÈ »õ·Î¿î °´Ã¼¸¦ »ý¼ºÇÑ´Ù. µû¶ó¼­ ºó¹øÇÏ°Ô º¯°æÇÒ ¶§´Â ¼º´ÉÀÌ ¶³¾îÁø´Ù.

ÀÚÁÖ º¯°æµÇ´Â ¹®ÀÚ¿­¿¡ ´ëÇؼ­´Â String ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ´Â º°µµÀÇ Å¬·¡½º°¡ Á¦°øµÇ´Âµ¥ ÀÌ°ÍÀÌ StringBufferÀÌ´Ù. StringBuffer´Â ÀÏÁ¾ÀÇ ¹®ÀÚ ¹è¿­ÀÌ¸ç ¸Þ¸ð¸®¸¦ ÀÚµ¿À¸·Î °ü¸®ÇÏ¿© »ðÀÔ, »èÁ¦, Ãß°¡¸¦ °í¼ÓÀ¸·Î ó¸®ÇÑ´Ù. ¼ÓµµÂ÷°¡ ¾ó¸¶³ª ³ª´ÂÁö Á÷Á¢ Å×½ºÆ®ÇØ º¸ÀÚ. ´ÙÀ½ ¿¹Á¦´Â ºó String °´Ã¼¸¦ »ý¼ºÇÑ ÈÄ ¾ËÆĺª A ¿¡¼­ z±îÁö µ¡ºÙÀ̱⸦ 1000¹ø ¹Ýº¹ÇÑ´Ù.

 

atoz

class JavaTest {

     public static void main(String[] args) {

          long start = System.currentTimeMillis();

          String str = "";

          for (int i = 0; i < 1000; i++) {

              for (char ch = 'A'; ch <= 'z'; ch ++) {

                   str += ch;

              }

              str += '\n';

          }

          System.out.println(str);

          System.out.println((System.currentTimeMillis()-start)/1000.0 + "ÃÊ");

     }

}

½ÇÇà°á°ú

ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz

1.867ÃÊ

 

+= ¿¬»êÀÚ·Î ¹®ÀÚ¸¦ °è¼Ó ºÙÀÌ¸é ¿øÇÏ´Â ¹®ÀÚ¿­ÀÌ ¸¸µé¾îÁö´Âµ¥ ÃÖÁ¾ ¹®ÀÚ¿­°ú °É¸° ½Ã°£À» Ãâ·ÂÇß´Ù. ÄÄÇ»ÅÍ ¼º´É¿¡ µû¶ó Â÷ÀÌ°¡ Àִµ¥ ´ë·« 2ÃÊ¸é ¾öû³­ ¼¼¿ùÀÌ´Ù. ¹®ÀÚ¸¦ µ¡ºÙÀÏ ¶§¸¶´Ù »õ·Î¿î ¹®ÀÚ¿­ÀÌ »ý¼ºµÇ´Ï ´À¸± ¼ö¹Û¿¡ ¾øÀ¸¸ç ÀÌÀü °´Ã¼±îÁö »èÁ¦ÇØ¾ß ÇÏ´Ï °¡ºñÁö Ä÷ºÅÍ¿¡°Ôµµ ºÎ´ãÀ» ÁØ´Ù. À̹ø¿¡´Â ¶È°°Àº ¿¹Á¦¸¦ StringBuffer Ŭ·¡½º·Î ¸¸µé¾î º¸¾Ò´Ù.

 

atoz2

class JavaTest {

     public static void main(String[] args) {

          long start = System.currentTimeMillis();

          StringBuffer str = new StringBuffer();

          for (int i = 0; i < 1000; i++) {

              for (char ch = 'A'; ch <= 'z'; ch ++) {

                   str.append(ch);

              }

              str.append('\n');

          }

          System.out.println(str);

          System.out.println((System.currentTimeMillis()-start)/1000.0 + "ÃÊ");

     }

}

½ÇÇà°á°ú

ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz

0.005ÃÊ

 

+= ¿¬»êÀÚ ´ë½Å append ¸Þ¼­µå·Î ¹®ÀÚ¸¦ µ¡ºÙÀδÙ. ¹®ÀÚ°¡ Ãß°¡µÇ¸é ¸Þ¸ð¸®¸¦ ´õ ÇÒ´çÇÒ »Ó »õ·Î¿î °´Ã¼¸¦ ¸¸µéÁö ¾Ê¾Æ ½ÇÇàÇÏÀÚ ¸¶ÀÚ °á°ú°¡ ¹Ù·Î Ãâ·ÂµÈ´Ù. ¹®ÀÚ¿­ º¯°æ Ƚ¼ö°¡ ´Ã¾î³ª¸é µÎ ¿¹Á¦ÀÇ ¼ÓµµÂ÷´Â ¾öû³ª°Ô ¹ú¾îÁø´Ù. ±×·¡¼­ ÀÚÁÖ º¯°æµÇ´Â ¹®ÀÚ¿­Àº String Ŭ·¡½º¸¦ ¾²´Â °Íº¸´Ù´Â StringBuffer Ŭ·¡½º¸¦ ¾²´Â °ÍÀÌ ¼Óµµ»ó À¯¸®ÇÏ´Ù.

´ÙÀ½Àº StringBuffer Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼­µåÀÌ´Ù. Ãß°¡, »ðÀÔ, »èÁ¦, ´ëü µî ¹®ÀÚ¿­ ÆíÁý ±â´ÉÀÌ Á¦°øµÈ´Ù. ¹®ÀÚ³ª ¹®ÀÚ¿­ »Ó¸¸ ¾Æ´Ï¶ó Á¤¼ö, ½Ç¼ö µîÀÇ Å¸ÀÔ¿¡ ´ëÇؼ­µµ ¿À¹ö·ÎµùµÇ¾î ÀÖ¾î ÀÓÀÇÀÇ ÀڷḦ Á¶¸³ÇÒ ¼ö ÀÖ´Ù.

 

StringBuffer append(char c)

StringBuffer insert(int offset, String str)

StringBuffer delete(int start, int end)

StringBuffer replace(int start, int end, String str)

 

String°ú StringBuffer´Â ¶È°°ÀÌ ¹®ÀÚ¿­À» ´Ù·çÁö¸¸ »ç¿ëÇÏ´Â ¸ñÀûÀÌ ¿ÏÀüÈ÷ ´Ù¸£´Ù. StringÀº ¹®ÀÚ¿­À» Ç¥ÇöÇÏ´Â °ÍÀÌ ¸ñÀûÀÌ°í StringBuffer´Â ¹®ÀÚ¿­À» Á¶ÀÛÇÏ´Â °ÍÀÌ ¸ñÀûÀÌ´Ù. µÎ °´Ã¼´Â Á÷Á¢ ´ëÀÔÇÒ ¼ö ¾øÀ¸¸ç º¯È¯À» °ÅÃÄ¾ß ÇÑ´Ù. String °´Ã¼¸¦ StringBuffer·Î ¹Ù²Ù·Á¸é StringBufferÀÇ »ý¼ºÀÚ·Î Àü´ÞÇÑ´Ù. ¹Ý´ëÀÇ °æ¿ì´Â StringBuffer°´Ã¼ÀÇ toString ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù.

StringBuilderµµ StringBuffer¿Í °°µÇ ¸ÖƼ ½º·¹µå¸¦ Áö¿øÇÏÁö ¾Ê´Â ±¸ÇüÀÌ´Ù. StringBuffer´Â ¿©·¯ °³ÀÇ ½º·¹µå¿¡¼­ µ¿½Ã¿¡ »ç¿ëÇصµ ¹®Á¦¾øµµ·Ï µÇ¾î ÀÖÁö¸¸ ´ë½Å µ¿±âÈ­ 󸮰¡ ÇÊ¿äÇØ ¹Ì¼¼ÇÏ°Ô ´À¸®´Ù. ÇÑ ½º·¹µå¿¡¼­¸¸ ¹®ÀÚ¿­À» Á¶ÀÛÇÑ´Ù¸é StringBuilder°¡ ¾à°£ À¯¸®ÇÏÁö¸¸ ±»ÀÌ ±¸ºÐÇÏ´Â °Íº¸´Ù StringBuffer¸¦ ÀÏ°üµÇ°Ô ¾²´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.