Java String.format()正在将参数大写
我有一个字符串格式字符串:Java String.format()正在将参数大写,java,string-formatting,Java,String Formatting,我有一个字符串格式字符串: 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\u ID)是大写的。为什么会这样?我可以做些什么来修复此问题?在格式字符串中,您有一个%S,
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\u ID
)是大写的。为什么会这样?我可以做些什么来修复此问题?在格式字符串中,您有一个%S
,它应该是%S
。我目前还没有找到任何关于这个行为的文档,但是所有的字符串选择器(%s
,%f
,等等)都应该是小写的。它是一个完整的文档行为,即使不是一个众所周知的行为(可能是因为它既不是一个明显的需要,也不是非常有用的东西)
发件人:
下表总结了支持的转换。转换
由大写字符表示(即“B”、“H”、“S”、“C”、“X”、“e”,
“G”、“A”和“T”)与对应的
除转换结果外的小写转换字符
根据流行地区的规则,使用大写字母。这个
结果相当于以下调用
String.toUpperCase()