문자열.형식

자바 멀티스레딩
레벨 2 , 레슨 6
사용 가능

"또한 String.format 방법 에 대해서도 말씀드리고 싶습니다 ."

" String 클래스 의 정적 메서드 이지만 매우 유용합니다. 우회적으로 접근하겠습니다."

"텍스트 한 줄에 여러 변수를 표시해야 한다면 어떻게 하시겠습니까?"

"무슨 문자?"

"예를 들면 다음과 같습니다."

다음 변수가 주어집니다.
String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;
필요한 출력:
User = {name: Bender, age: 12 years, friend: Fry, weight: 200 kg.}

"나는 다음과 같이 할 것입니다."

String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;

System.out.println("User = {name: " + name + ", age: " + age + " years, friend: " + friend + ", weight: " + weight + " kg.}");

"잘 읽히지 않습니까?"

"괜찮은 것 같아."

"하지만 변수 이름이 길거나 데이터를 가져오기 위해 메서드를 호출해야 하는 경우 가독성이 좋지 않을 것입니다."

System.out.println("User = {name: " + user.getName() + ", age: " + user.getAge() + " years, friend: " + user.getFriends().get(0) + ", weight: " + user.getExtraInformation().getWeight() + " kg.}");

"글쎄, 그렇다면, 그래, 읽기 쉽지 않을거야."

"사실 이것은 실제 프로그램에서 항상 발생하므로 String.format 방법으로 삶을 단순화할 수 있는 방법을 보여주고 싶습니다."

"빨리 말해줘, 이게 무슨 마법의 수법이야?"

"위 코드는 다음과 같이 작성할 수 있습니다."

String text = String.format("User = {name: %s, age: %d years, friend: %s, weight: %d kg.}",
user.getName(), user.getAge(), user.getFriends().get(0), user.getExtraInformation().getWeight())

System.out.println(text);

" String.format 메서드의 첫 번째 매개변수는 값을 넣을 때마다 특수 문자(%s, %d)를 포함하는 형식 문자열입니다."

"형식 문자열 다음에 %s 및 %d 문자를 대체할 값을 전달합니다."

"문자열을 삽입해야 하는 경우 %s를 쓰고, 숫자가 필요한 경우 %d를 사용합니다."

"예제에서 이것을 보는 것이 더 쉬울 것입니다:"

String s = String.format("a = %d, b = %d, c = %d", 1, 4, 3);
결과:
s는 «a = 1, b = 4, c = 3»과 같습니다.

"네, 아주 편리합니다."

"또한 다음과 같이 할 수도 있습니다."

int a = -1, b = 4, c = 3;
String template;
 if (a < 0)
  template = "Warning! a = %d, b = %d, c = %d";
 else
  template = "a = %d, b = %d, c = %d";

System.out.println(String.format(template, a, b, c) );
산출:
Warning! a = -1, b = 4, c = 3

"음. 정말 유용한 방법이군. 고마워, 엘리."

"포맷 방법과 함께 다른 데이터 유형을 사용하려는 경우 다음 표가 도움이 될 것입니다."

상징 유형
%에스
%디 정수: int, long 등
%에프 실수: float, double
%비 부울
%씨
%티 날짜
%% 백분율 기호 %

"실제로 이러한 형식 지정자에는 고유한 설정과 하위 설정도 있습니다."

"하지만 시작하기에 충분합니다. 그렇지 않은 경우 공식 문서에 대한 링크는 다음과 같습니다."

추가 자료 링크

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION