답변:
에서 워드 프로세서 :
일반, 문자 및 숫자 유형의 형식 지정자는 다음 구문을 갖습니다.
%[argument_index$][flags][width][.precision]conversion
선택적 argument_index 는 인수 목록에서 인수의 위치를 나타내는 10 진 정수입니다. 첫 번째 인수는로
"1$"
, 두 번째 인수는 등으로 참조됩니다"2$"
.
String.format("%1$s %1$s %1$s %1$s %1$s %1$s", hello);
%[argument_index$]
다음과 같이 인수 를 색인해야합니다 .
String hello = "Hello";
String.format("%1$s %1$s %1$s %1$s %1$s %1$s", hello);
결과 : hello hello hello hello hello hello
인수를 재사용하는 일반적인 경우 중 하나 String.format
는 구분 기호 (예 : ";"
CSV 또는 콘솔 탭)입니다.
System.out.println(String.format("%s %2$s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; ; ; b"
이것은 원하는 출력이 아닙니다. "c"
어디에도 나타나지 않습니다.
구분 기호를 먼저 사용하고 (와 함께 %s
) %2$s
다음과 같은 경우에는 인수 색인 ( ) 만 사용해야합니다 .
System.out.println(String.format("%s %s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; b ; c"
가독성과 디버깅을 위해 공백이 추가되었습니다. 형식이 올 바르면 텍스트 편집기에서 공백을 제거 할 수 있습니다.
System.out.println(String.format("%s%s%s%2$s%s%n", "a", ";", "b", "c"));
// "a;b;c"