JAVA/포스팅

자바 MessageFormat

짜집퍼박사(짜박) 2023. 11. 16. 16:45

MessageFormat 클래스는 형식화된 메시지를 생성하는 데 사용되는 클래스입니다. 이 클래스는 특정 패턴을 사용하여 메시지의 형식을 지정하고, 지정된 패턴에 맞게 데이터를 삽입하여 메시지를 생성합니다. MessageFormat은 주로 다국어 지원 및 메시지의 동적 생성에 활용됩니다.

다음은 MessageFormat를 사용한 간단한 예제입니다.

import java.text.MessageFormat;
import java.util.Locale;

public class MessageFormatExample {
    public static void main(String[] args) {
        // 패턴 정의
        String pattern = "Hello, {0}! Today is {1}.";

        // MessageFormat 생성
        MessageFormat messageFormat = new MessageFormat(pattern, Locale.US);

        // 데이터 삽입
        Object[] arguments = {"John", "Monday"};
        String formattedMessage = messageFormat.format(arguments);

        // 결과 출력
        System.out.println(formattedMessage);
    }
}

이 예제에서는 "Hello, {0}! Today is {1}."라는 패턴을 정의하고, {0}, {1}과 같은 위치 홀더를 사용하여 데이터를 동적으로 삽입할 위치를 지정합니다. MessageFormat의 format 메서드를 호출할 때 Object 배열에 실제 데이터를 제공하여 메시지를 생성합니다. 출력은 "Hello, John! Today is Monday."이 됩니다.

 

MessageFormat에서 사용되는 주요 패턴 요소는 다음과 같습니다.

 

- {인덱스} : 데이터 삽입 위치를 나타내는 위치 홀더입니다. 0부터 시작하는 인덱스를 사용하여 위치를 지정합니다.
- {인덱스, 형식} : 데이터 삽입 위치 및 형식을 나타냅니다. 예를 들어, {0, number}는 첫 번째 데이터를 숫자로 형식화합니다.

 

위 예제에서는 Locale.US를 사용하여 영어로 메시지를 형식화했습니다. 이렇게 하면 숫자, 날짜 및 통화와 같은 형식이 해당 지역 설정에 맞게 적용됩니다.

MessageFormat를 사용하면 동적으로 변하는 메시지를 유연하게 처리할 수 있으며, 특히 다국어 지원이 필요한 경우에 유용합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 java.time패키지의 주요 클래스  (0) 2023.11.16
자바 java.time패키지  (0) 2023.11.16
자바 ChoiceFormat  (0) 2023.11.16
자바 SimpleDateFormat  (0) 2023.11.16
자바 DecimalFormat  (0) 2023.11.16