Java 문자열 연결

JavaBeginner
지금 연습하기

소개

연결 (Concatenation) 은 두 개 이상의 문자열을 하나의 문자열로 결합하는 과정입니다. Java 에서는 문자열을 연결하는 여러 가지 방법이 있습니다. 각 방법은 요구 사항에 따라 장단점이 있습니다. 이 랩에서는 Java 에서 문자열을 연결할 수 있는 다양한 방법을 다룹니다.

+ 연산자를 사용하여 문자열 연결하기

Java 에서 문자열을 결합하는 가장 간단한 방법은 + 연산자를 사용하는 것입니다. + 연산자는 문자열과 함께 작동하도록 오버로드 (overload) 되었습니다. + 연산자를 사용하여 문자열을 연결하는 방법을 보려면 아래 코드 블록을 따르십시오.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String combination = a + " " + b;   // Using + operator to concatenate strings
        System.out.println(combination);    // Output: Hello World
    }
}

StringBuilder 클래스를 사용하여 문자열 연결하기

Java 에서 문자열을 연결하는 또 다른 방법은 StringBuilder 클래스를 사용하는 것입니다. StringBuilder 클래스는 두 개 이상의 문자열을 결합하기 위해 append() 메서드를 제공합니다. StringBuilder는 문자열을 연결할 때 String 클래스보다 빠릅니다. StringBuilder 클래스를 사용하여 문자열을 연결하는 방법은 아래 코드 블록을 따르십시오.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        StringBuilder builder = new StringBuilder();
        builder.append(a).append(" ").append(b);   // Using StringBuilder class to concatenate strings
        String combination = builder.toString();
        System.out.println(combination);   // Output: Hello World
    }
}

StringBuffer 클래스를 사용하여 문자열 연결하기

StringBuilder 와 유사하게, StringBuffer 역시 변경 가능한 문자 시퀀스이며 문자열을 추가하기 위해 append() 메서드를 제공합니다. StringBuffer 는 동기화 (synchronized) 되어 있어 여러 스레드가 동시에 접근할 수 없습니다.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        StringBuffer buffer = new StringBuffer();
        buffer.append(a).append(" ").append(b);   // Using StringBuffer class to concatenate strings
        String combination = buffer.toString();
        System.out.println(combination);   // Output: Hello World
    }
}

String.concat() 메서드를 사용하여 문자열 연결하기

concat() 메서드는 두 개의 문자열을 연결하는 데 사용할 수 있습니다. 이 메서드는 내부적으로 StringBuilder 클래스를 사용하여 연결을 수행합니다. concat() 메서드를 사용하여 문자열을 연결하는 방법은 아래 코드 블록을 따르십시오.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String combination = a.concat(" ").concat(b);   // Using String.concat() method to concatenate strings
        System.out.println(combination);   // Output: Hello World
    }
}

String.join() 메서드를 사용하여 문자열 연결하기

String.join() 메서드는 구분 기호 (delimiter) 와 함께 여러 문자열을 연결하는 데 사용됩니다. String.join()의 첫 번째 매개변수는 문자열 사이에 추가되어야 하는 구분 기호입니다. 이 메서드는 Java 8 부터 작동합니다. String.join() 메서드를 사용하여 문자열을 연결하는 방법을 보려면 아래 코드 블록을 따르십시오.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String c = "Java";
        String combination = String.join(" ", a, b, c);   // Using String.join() method to concatenate strings
        System.out.println(combination);   // Output: Hello World Java
    }
}

String.format() 메서드를 사용하여 문자열 연결하기

String.format() 메서드는 형식화된 문자열을 반환합니다. 이 메서드는 문자열 변수를 연결해야 하는 형식 문자열을 첫 번째 매개변수로 사용합니다. C 언어의 printf 함수와 유사하게 작동합니다. String.format() 메서드를 사용하여 문자열을 연결하는 방법은 아래 코드 블록을 따르십시오.

public class ConcatenateStrings {
    public static void main(String[] args) {
        String a = "Hello";
        String b = "World";
        String c = "Java";
        String combination = String.format("%s %s %s", a, b, c);  // Using String.format() method to concatenate strings
        System.out.println(combination);   // Output: Hello World Java
    }
}

Arrays.toString() 메서드를 사용하여 문자열 연결하기

Arrays.toString() 메서드는 배열의 내용을 나타내는 문자열을 반환하는 데 사용됩니다. Arrays.toString() 메서드를 사용하여 문자열 배열을 연결하는 방법은 아래 코드 블록을 따르십시오.

import java.util.Arrays;
public class ConcatenateStrings {
    public static void main(String[] args) {
        String[] strings = {"Hello", "World", "Java"};
        String combination = Arrays.toString(strings);   // Using Arrays.toString() method to concatenate an array of strings
        System.out.println(combination);   // Output: [Hello, World, Java]
    }
}

StringJoiner 클래스를 사용하여 문자열 연결하기

StringJoiner 클래스는 구분 기호 (delimiter) 를 사용하여 문자열을 연결하는 데 사용됩니다. StringJoiner 클래스는 Java 8 이상에서 사용할 수 있습니다. 다음 예제에서는 StringJoiner 클래스를 사용하여 세 개의 문자열을 구분 기호와 함께 연결합니다. StringJoiner 클래스를 사용하여 문자열을 연결하는 방법은 아래 코드 블록을 따르십시오.

import java.util.StringJoiner;
public class ConcatenateStrings {
    public static void main(String[] args) {
        StringJoiner joiner = new StringJoiner(" ");
        joiner.add("Hello");  // Using StringJoiner class to concatenate strings
        joiner.add("World");
        joiner.add("Java");
        String combination = joiner.toString();
        System.out.println(combination);   // Output: Hello World Java
    }
}

Collection.join() 메서드를 사용하여 문자열 연결하기

Collections 클래스의 join() 메서드를 사용하여 문자열 목록을 연결할 수도 있습니다. Collections.join() 메서드를 사용하여 문자열 목록을 연결하는 방법은 아래 코드 블록을 따르십시오.

import java.util.Arrays;
import java.util.List;
import java.util.Collections;
public class ConcatenateStrings {
    public static void main(String[] args) {
        List<String> strings = Arrays.asList("Hello", "World", "Java");
        String separator = " ";
        String combination = String.join(separator, strings);   // Using Collections.join() method to concatenate a list of strings
        System.out.println(combination);   // Output: Hello World Java
    }
}

Files.lines() 메서드를 사용하여 문자열 연결하기

Java 8 에 도입된 Files.lines() 메서드를 사용하여 문자열을 연결할 수도 있습니다. Files.lines() 메서드를 사용하여 문자열을 연결하는 방법은 아래 코드 블록을 따르십시오.

import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
public class ConcatenateStrings {
    public static void main(String[] args) {
        try {
            String combination = Files.lines(Paths.get("file1.txt"))
                                      .reduce("", (line1, line2) -> line1 + line2);
            System.out.println(combination);
        } catch (IOException exception) {
            System.out.println("Exception Occurred: " + exception);
        }
    }
}

참고: 위의 코드 블록은 file1.txt라는 파일에서 내용을 읽어 단일 문자열로 연결합니다.

요약

요약하면, Java 에서 문자열을 연결하는 방법은 여러 가지가 있습니다. 이 랩에서는 + 연산자, StringBuilder 클래스, StringBuffer 클래스, String.concat() 메서드, String.join() 메서드, String.format() 메서드, Arrays.toString() 메서드, StringJoiner 클래스, Collections.join() 메서드 및 Files.lines() 메서드와 같은 다양한 방법을 다루었습니다. 각 메서드의 미묘한 차이점을 이해하고 원하는 결과를 얻기 위해 적절하게 사용하는 것이 중요합니다.