簡體   English   中英

Java字符串格式問題

[英]Java String format issue

使用String.format()方法時遇到問題。

所以我想創建一個帶有換行符的String,為此我使用%n

我創建這樣的字符串:

for (int i = 0; i < authorNames.size(); i++) {
  tmpReturnString += authorNames.get(i) + "%n";
}

authorNames一個ArrayList。 接下來,我要返回格式化的字符串:

returnResult.setAttributes(0, String.format(tmpReturnString.substring(0, tmpReturnString.length() - 1)))

returnResult將是我的回報。

但是在這里,我得到了一個java.util.UnknownFormatConversionException: Conversion = '%'

不幸的是,我不知道如何解決此問題。 另外,其他問題都沒有幫助我。

提前致謝!

我猜您想刪除最后一行,但是通過僅刪除一個字符,您最終得到的字符串以%結尾。

改為這樣做:

String.format(tmpReturnString.substring(0, tmpReturnString.length() - 2))

(刪除2個字符,而不僅僅是1個)

或者,甚至更好,如果您使用apache commons:

String.format(StringUtils.join(authorNames, "%n"));
for (int i = 0; i < authorNames.size(); i++) {
  tmpReturnString += authorNames.get(i) + "%n";
}

始終返回最后兩個字符為“%n”的字符串。 所以當你使用

substring(0, tmpReturnString.length() - 1)

現在,最后一個字符是“%”。 '%'不是有效的格式說明符。

此處的詳細信息: http : //docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM