반응형
Java의 형식 암호화에서 $ 이해
StringBuilder sb = new StringBuilder();
// Send all output to the Appendable object sb
Formatter formatter = new Formatter(sb, Locale.US);
// Explicit argument indices may be used to re-order output.
formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
// -> " d c b a"
이 경우 $에 2가 추가되는 이유는 무엇입니까?
는 다음과 관련 2
이 없습니다 $
.
%
= 형식 확장 시작4$
= 네 번째 인수 ( 'd')2
= 너비 2 (오른쪽 정렬)s
= 이동 유형
2$
여기 목록에서 두 번째 인수를 수단으로 사용했습니다. 는 $
다음 숫자가하지를옵니다. 마, 4$
여기에 네 번째 인수를 제안하십시오.
더하기 위해 %2$2s
형식을 부분으로 나눌 수 있습니다.
%
-형식적으로 나타납니다.2$
-여기에 두 번째 값 인수를 넣어야 함을 보여줍니다.2
-형식은 2 자입니다.s
-값을 공유로 형식화
%4$2s
이는 네-th 인수를 너비 2 문자열로의 형식화하는 신호 가있는 위치 인수입니다 . 이것은 소스 코드를 건드리지 않고 인수를 재정렬하는 지역화를 위해 유용을 제공 할 때 특히합니다.
날짜 및 시간을 사용하는 유형에 대한 형식 지정자는 다음 구문을 갖습니다.
%[argument_index$][flags][width]conversion
선택 사항
argument_index
은 인수 목록에서 인수의 위치를 나타내는 10 진수 정수입니다. 첫 번째 인수는에서 참조"1$"
하고 두 번째 인수는에서 참조합니다"2$"
. — 포맷터 문서
%
: 형식
4$
: 네 번째 값 인수
2
: 너비 (인수가 인쇄 될 때 길이)
s
: 공유 인수 변환입니다.
예를 들어, 다음 스 니펫 :
StringBuffer sb=new StringBuffer();
Formatter formatter=new Formatter(sb,Locale.UK);
formatter.format("-%4$5s-%3$5s-%2$5s-%1$5s-", "a", "b", "c", "d");
System.out.println(sb);
다음과 같은 출력을 생성합니다.
- d- c- b- a-
(인수 당 5 자 너비, 공백으로 채워짐)
및 교체 5
로하면 2
, 다음과 같은 출력을 생성 할 것이다 :
- d- c- b- a-
차이점이 보이십니까? :)
참고 URL : https://stackoverflow.com/questions/1915074/understanding-the-in-javas-format-strings
반응형
'ProgramingTip' 카테고리의 다른 글
새 뷰 컨트롤러를 생성 후 어떻게 뷰 컨트롤러 파일을 생성합니까? (0) | 2020.10.19 |
---|---|
Scaffold를 포함하지 않는 것이로 호출 된 Scaffold.of () (0) | 2020.10.18 |
MySQL VARCHAR 길이 및 UTF-8 (0) | 2020.10.18 |
테스트 파일을 JUnit으로 가져 오는 쉬운 방법 (0) | 2020.10.18 |
Spring MVC에서 @ResponseBody를 사용할 때 MIME 유형 헤더를 사용하는 방법? (0) | 2020.10.18 |