我有一个字符串格式字符串:
String.format("CREATE TABLE %s ("
+ "%S INTEGER PRIMARY KEY AUTOINCREMENT, %s INTEGER NOT NULL, %s TEXT NOT NULL)",
SPORT_TABLE, SPORT_ID, SPORT_WSID, SPORT_TITLE);
但我的第二个论点(SPORT_ID
)正在被大写。为什么会这样?我该怎么做才能解决这个问题?
答案 0 :(得分:12)
是一个完美记录的行为即使不是一个众所周知的行为(可能因为它既不是明显的需要也不是非常有用的东西)。
来自the javadoc:
下表总结了支持的转化次数。转换 由大写字母表示(即'B','H','S','C','X','E', 'G','A'和'T')与相应的相同 小写转换字符,但转换结果除外 根据现行区域规则的大写。该 结果相当于以下的调用 String.toUpperCase()
答案 1 :(得分:8)
在您的格式字符串中,您有一个%S
,它应该是%s
。我目前尚未找到有关此行为的任何文档,但所有字符串选择器(%s
,%f
等)都应为小写。
编辑:请参阅@dstroy对javadoc引文的回答。