我想在java MessageFormat中輸出一些大括號。例如,我知道以下不起作用:我可以在java MessageFormat中使用大括號嗎?
MessageFormat.format(" public {0} get{1}() {return {2};}\n\n", type, upperCamel, lowerCamel);
有沒有辦法繞過「return {2}」大括號?
我想在java MessageFormat中輸出一些大括號。例如,我知道以下不起作用:我可以在java MessageFormat中使用大括號嗎?
MessageFormat.format(" public {0} get{1}() {return {2};}\n\n", type, upperCamel, lowerCamel);
有沒有辦法繞過「return {2}」大括號?
使用單引號:
MessageFormat.format(" public {0} get{1}() '{'return {2};'}'\n\n",
type, upperCamel, lowerCamel);
如果你想實際使用一個單引號,只需雙擊它。所述JavaDoc for MessageFormat
給出了這樣的有些複雜例如:
因此,應導致 ,所述格式化消息
"'{0}'"
可以是 寫成"'''{'0}''" or "'''{0}'''"
字符串。
這是''
爲單引號,然後'{'
用於轉義撐,然後0
,'}'
爲閉括號和''
用於關閉報價。
哇。驚喜!對於MessageFormat文檔知道答案:
在一個字符串,
"''"
表示 單引號。 A QuotedString可以 包含任意字符,除了 單引號;周圍的單個 報價被刪除。一個UnquotedString 可以包含任意字符 ,除了單引號和左括號 括號。因此,應該使得格式化消息"'{0}'"
的字符串可以寫爲"'''{'0}''"
或"'''{0}'''"
。
System.out.println(MessageFormat.format("I want to see ticks and curly braces around '''{'{0}'}'''", "this"));
+1我認爲這是\但'是正確的 – 2009-07-27 08:44:22
鏈接不再起作用 – bigGuy 2017-08-04 11:48:02