6

私は文字列形式の文字列を持っています:

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);

しかし、私の 2 番目の引数 ( SPORT_ID) は大文字になっています。なぜこうなった?これを修正するにはどうすればよいですか?

4

2 に答える 2

13

よく知られていない場合でも、これ完全に文書化された動作です (おそらく、明らかな必要性や有用なものではないためです)。

javadocから:

次の表は、サポートされている変換をまとめたものです。大文字で示される変換 (つまり、'B'、'H'、'S'、'C'、'X'、'E'、'G'、'A'、および 'T') は同じです。結果が一般的なロケールの規則に従って大文字に変換されることを除いて、対応する小文字変換文字の場合と同様です。結果は、次の String.toUpperCase() の呼び出しと同等です。

于 2013-07-25T19:45:16.990 に答える
10

フォーマット文字列には があり%S、 である必要があり%sます。現在、この動作に関するドキュメントは見つかりませんでしたが、すべての文字列セレクター ( %s%fなど) は小文字にする必要があります。

于 2013-07-25T19:43:17.877 に答える