상세 컨텐츠

본문 제목

[자바] MessageFormat 클래스/연결하기/끼워넣기/배열에 사용하기

java_자바

by 쫑메이 2020. 8. 21. 00:20

본문


 

 

 


 

 

 

 

 


[자바] MessageFormat 클래스


 

 

문자열을 구성하다 보면 String과 다른 String, 기본형, 객체들을 연결하는 경우가 많이 생긴다.

이런 경우 보통 ‘+’연산자를 사용한다

 

 

간단한 방식이라 자주 사용되기는 하지만 계속 +로 인해 지저분해 보이고

한눈에 파악하기 힘들다.

 

그래서 MessageFormat을 이용한다

 

MessageFormat은 문자열 구성 시 사용할 데이터를 연결 연산자(+)를 사용하지 않고

미리 데이터가 위치할 공간을 문자열에 표시한 뒤

별도로 데이터를 끼워 넣는 기능을 제공한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바] MessageFormat 클래스_예시 (1)

 


 

String pattern=“Java: {0}점, JSP:{1}점, Oracle :{2}점;

 

MessageFormat.format() 메서드에 원본 문자열과 끼워 넣을 데이터를 전달

 

=> 끼워 넣을 데이터는 가변인자 형태이므로 순서대로 개수 제한 없이 전달

 

 

 

Stringresult=MessageFormat.format(pattern, 100,50,80);

System.out.println(result);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바] MessageFormat 클래스_예시 (2)


 

배열을 사용해 저장된 여러 개의 데이터를 전달할 수도 있다

 

 

int[] score = {100, 50, 80};

String result = MessageFormat.format(pattern, score[0], score[1], score[2]);

 

 

 

 

 

 

 

 

 

 

 

학생 여러 명의 점수를 메모장 등에 텍스트로 나열했다고 가정해 보자

Stringtext="홍길동:100:90:85, 이순신:80:80:80, 강감찬:100:50:60";

 

 

학생별로 구분된 문자열(,)을 기준으로 문자열 분리 = split() 메서드 활용

String[]studentInfo=text.split(",");

for(Stringstr:studentInfo) {

System.out.println(str);

 

 

 

 

 

 

 

 

 

 

 

학생 1명의 데이터 문자열을 ":" 기호 기준으로 다시 분리

 

String[] student = str.split(":");

 

MessageFormat.format() 메서드를 사용하여 포맷 적용하여 출력

System.out.println(

MessageFormat.format(pattern2, student[0], student[1], student[2], student[3]));

 

 

가변인자 부분의 데이터를 String[] 타입 그대로 전달하여 사용 가능

System.out.println( MessageFormat.format(pattern2, student));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

 

아직 부족한 게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 


 

 

반응형

관련글 더보기