[JAVA] 문자열

문자열이란

문자열(String)은 자바에서 텍스트 데이터를 처리하는 데 사용되는 중요한 데이터 타입입니다. 문자열은 불변(immutable)하며, 여러 가지 유용한 메서드를 제공하여 문자열 조작을 편리하게 수행할 수 있습니다.

 

문자열 생성 방법

// 자바에서 문자열은 큰 따옴표로 문자열 생성
String greeting = "Hello, World!";

// new 키워드를 통한 문자열 생성
String greeting = new String("Hello, World");

 

문자열 메서드 활용 예제

public class Example {
    public static void main(String[] args) {
        String text = "Hello, World!";
        
        // length() - 문자열의 길이 반환
        int length = text.length();
        System.out.println(length); // 출력 : 13
        
        // charAt(index) - 지정한 인덱스의 문자 반환
        char firstChar = text.charAt(0);
        System.out.println(firstChar); // 출력 : H
        
        // concat(str) - 문자열 결합
        String combined = text.concat(" Welcome");
        System.out.println(combined); // 출력 : Hello, World! Welcome
        
        // equals(str) - 문자열 비교
        boolean isEqual = text.equals("Hello, World!");
        System.out.println(isEqual); // 출력 : true
        
        // indexOf(str) - 문자열 위치 찾기
        int indexOfWorld = text.indexOf("World");
        System.out.println(indexOfWorld); // 출력 : 7
        
        // substring(beginIndex, endIndex) - 부분 문자열 추출
        String subString = text.substring(7, 12);
        System.out.println(subString); // 출력 : World
        
        // toUpperCase() / toLowerCase() - 대소문자 변환
        String upperCase = text.toUpperCase();
        String lowerCase = text.toLowerCase();
        System.out.println(upperCase); // 출력 : HELLO, WORLD!
        System.out.println(lowerCase); // 출력 : hello, world!
        
        // trim() - 공백 제거
        String withSpaces = "   Spaces   ";
        String trimmed = withSpaces.trim();
        System.out.println(trimmed); // 출력 : Spaces
        
        // replace(oldStr, newStr) - 문자열 치환
        String replaced = text.replace("Hello", "Hi");
        System.out.println(replaced); // 출력 : Hi, World!
    }
}

 

문자열 불변성

문자열은 불변성을 가지므로 한 번 생성된 후에는 변경할 수 없습니다. 문자열을 변경하는 작업은 항상 새로운 문자열 객체를 생성합니다

 

StringBuilder와 StringBuffer

문자열을 빈번하게 변경해야 할 경우 StringBuilder 또는 StringBuffer 클래스를 사용할 수 있습니다. 이들 클래스는 가변적인 문자열 조작을 효율적으로 수행할 수 있게 해줍니다.