String ํด๋ž˜์Šค

2023. 2. 2. 11:09ใ†java

String ํด๋ž˜์Šค์˜ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ๋ฒ• 2๊ฐ€์ง€

public class String01 {
    public static void main(String[] args) {
        String str1 = "hello java";  //๋ฐฉ๋ฒ•1
        String str2 = new String("hello java");   //๋ฐฉ๋ฒ•2
    }
}

str1๋„ ๊ฐ์ฒด๋‹ค.

๊ฐ์ฒด์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฒ• ๊ฐ์ฒด๋ช…. ์ฐ์œผ๋ฉด ๋ฉ”์†Œ๋“œ๊ฐ€ ๋‚˜์˜ด

 

๊ทธ๋Ÿผ ๋ฐฉ๋ฒ•1๊ณผ ๋ฐฉ๋ฒ•2๋กœ ๋งŒ๋“  ๊ฐ์ฒด๋Š” ๊ฐ™์€์ง€ ๋น„๊ตํ•ด๋ณด์ž.

๋จผ์ €, ์•Œ๊ณ  ๊ฐ€์•ผ ํ•  ๊ฒƒ.

== ์˜๋ฏธ : ์ˆซ์ž ๋น„๊ต์—์„œ๋Š” ๋‘ ์ˆ˜๊ฐ€ ๊ฐ™์€ ์ˆ˜์ธ์ง€ ํŒ๋ณ„์ง€๋งŒ

โ˜…๊ฐ์ฒด ๋น„๊ต์—์„œ๋Š” ๋‘ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ์ฐธ์กฐ๊ฐ’()์„ ๊ฐ€์ง€๋Š”์ง€ ํŒ๋ณ„ 

public class String01 {
    public static void main(String[] args) {
        String str1 = "hello java";
        String str2 = "hello java";
        String str3 = new String("hello java");
        String str4 = new String("hello java");

        if(str1 == str2) {
            System.out.println(1);
        }

        if(str3 == str4) {
            System.out.println(2);
        }
    }
}

1๋งŒ ์ถœ๋ ฅ๋จ.

 

๋ฐฉ๋ฒ•1๋กœ ๋งŒ๋“  ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

๋ฌธ์ž์—ด์ด ๋™์ผํ•˜๋ฉด ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š๋„๋ก ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

๋ฌธ์ž์—ด์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฐธ์กฐ๊ฐ’์„ ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ง€๋Š”์ง€ ๋น„๊ตํ•˜๋Š” ๊ฒƒ >> 1์ด ์ถœ๋ ฅ๋จ.

๋ฐฉ๋ฒ•2๋กœ ๋งŒ๋“  ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ•œํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

new ํ‚ค์›Œ๋“œ๊ฐ€ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋Š” ๋ช…๋ น์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์ด ๊ฐ™๋”๋ผ๋„ ๊ฐ์ฒด๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์ค€๋‹ค.

new ํ‚ค์›Œ๋“œ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์ด ๊ฐ™์•„๋„ ๊ฐ๊ฐ ๊ฐ์ฒด ์ƒ์„ฑํ•ด์„œ ์ฐธ์กฐํ•จ.

**String์€ ๋‹ค๋ฅธ ๋Œ€๋ถ€๋ถ„์˜ ์ฐธ์กฐ๋ณ€์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ imutable(์ด๋ฎคํ„ฐ๋ธ”) ๋ณ€์ˆ˜์ด๋‹ค.

imutable ๋ณ€์ˆ˜ : ๊ฐ’์ด ์ €์žฅ๋˜๋ฉด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜.

๊ทธ๋Ÿฐ๋ฐ ์—ฌํƒœ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ๊ฐ’์„ ๋ฐ”๊ฟ”์„œ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ?

String str1 = "java";
String str2 = "java";

str2 = "c++";
System.out.println(str1);
System.out.println(str2);

์•„๋ž˜์ฒ˜๋Ÿผ ๋‚ด๋ถ€ ์ž‘์šฉ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ.

์ƒˆ๋กœ์šด C++์„ ๋งŒ๋“ค์–ด์„œ ์ฐธ์กฐํ•จ.

 

 

String Class ์‚ฌ์šฉ ์‹œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ์˜ ๋งŽ์€ ์ˆ˜์ •์ด ์žˆ์„ ๋•Œ๋Š” Stringbuffer /Stringbuilder ์‚ฌ์šฉ 

> String์—์„œ concat, +๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ ์†๋„๊ฐ€ ๋–จ์–ด์ง

mutable์ธ StringBuffer์™€ StringBuilder ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ

.append(), .delete() ๋“ฑ์„ ํ†ตํ•ด์„œ ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ.

 

sb.append(๊ฐ’)

- StringBuffer, StringBuilder ๋’ค์— ๊ฐ’์„ ๋ถ™์ธ๋‹ค

 

sb.insert(์ธ๋ฑ์Šค, ๊ฐ’)

- ํŠน์ • ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๊ฐ’์„ ์‚ฝ์ž…ํ•œ๋‹ค

 

sb.delete(์ธ๋ฑ์Šค, ์ธ๋ฑ์Šค)

- ํŠน์ • ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ธ๋ฑ์Šค๊นŒ์ง€ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค

 

sb.indexOf(๊ฐ’)

- ๊ฐ’์ด ์–ด๋А ์ธ๋ฑ์Šค์— ๋“ค์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค

 

sb.substring(์ธ๋ฑ์Šค, ์ธ๋ฑ์Šค)

- ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ธ๋ฑ์Šค๊นŒ์ง€ ๊ฐ’์„ ์ž˜๋ผ์˜จ๋‹ค

 

sb.length()

- ๊ธธ์ด ํ™•์ธ

 

sb.replace(์ธ๋ฑ์Šค, ์ธ๋ฑ์Šค, ๊ฐ’)

- ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ธ๋ฑ์Šค๊นŒ์ง€ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

 

sb.reverse()

- ๊ธ€์ž ์ˆœ์„œ๋ฅผ ๋’ค์ง‘๋Š”๋‹ค

 

 

String ํด๋ž˜์Šค์—์„œ ์„ ์–ธ๋œ ์œ ์šฉํ•œ ๋ฉ”์†Œ๋“œ๋“ค

public class String03 {
    public static void main(String[] args) {
        //String ํด๋ž˜์Šค์—์„œ ์„ ์–ธ๋œ ์œ ์šฉํ•œ ๋ฉ”์†Œ๋“œ
        String str1 = "coffee";
        String str2 = "bread";

        //length() > ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ int๋กœ ๋ฆฌํ„ด (์‚ฌ์ด,์•ž/๋’ค ๊ณต๋ฐฑ ํฌํ•จ)
        System.out.println(str1.length()); //6

        //concat() > ๋‘ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐ. +์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ
        String result1 = str1.concat(str2);
        System.out.println(result1);

        String str3 = "abcdefg";

        //์ผ๋ถ€ ๋ฌธ์ž์—ด ์ถ”์ถœ ๊ธฐ๋Šฅ
        //๋‘๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ถ”์ถœ (์ˆœ์„œ 0๋ถ€ํ„ฐ ์‹œ์ž‘)
        String result2 = str3.substring(2);
        System.out.println(result2);
        //(์‹œ์ž‘๋ถ€๋ถ„, 4๋ฒˆ์งธ ์ „๊นŒ์ง€)
        String result3 = str3.substring(1,4);
        System.out.println(result3);

        //์ˆซ์ž๋“ค > ๋ฌธ์ž์—ด ๋ณ€๊ฒฝ
        String result4 = String.valueOf(10);

        //๋ฌธ์ž์—ด ์Šฌ๋ผ์ด์Šค (๋ฌธ์ž์—ด์„ () ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ”)
        String str4 = "ab,cd,ef";
        str4.split(",");   //(,)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž๋ฅผ ์ž๋ฆ„ > ์‰ผํ‘œ ์—†์–ด์ง€๊ณ 
        String[] result5 = str4.split(","); //๋ฌธ์ž์—ด์ด 3๊ฐœ ์ƒ๊น€ > ๋ฆฌํ„ดํƒ€์ž… ๋ฐฐ์—ด
        
    }
}