文字列内のプレースホルダを大きなループ内の実行中の番号に設定したいだけです。便宜上、プレースホルダーは%d
です。文字列の.formatまたは.replaceメソッドを使用すると、より高速です。番号を.formatまたは.replaceで素早くStringに挿入しますか?
-1
A
答えて
1
私が応答を知りませんでしたが、私は非常に簡単なテストをしたことについて興味があったと評価指標を追加し、それらが結果であるとして:
コード:
@Test
public void test(){
String original = "This is the phrase %d";
long init = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
System.out.println(String.format(original, i));
}
long end = System.currentTimeMillis();
long init1 = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
System.out.println(original.replace("%d", String.valueOf(i)));
}
long end2 = System.currentTimeMillis();
System.out.println("Method 1: " + (end-init));
System.out.println("Method 2: " + (end2-init1));
}
結果
方法1:1950方法2:1361
だから我々は、cは.replaceはStringのフォーマットメソッドより高速です。
関連する問題
- 1. 要素を素早く[(String、String)]タプルに挿入します
- 2. boost :: format form c-stringまたはstd :: string
- 3. 最後のカテゴリ番号で番号を挿入したい
- 4. String.Replace(char、char)またはReplace(string、string)?
- 5. 番号をUiTextViewに挿入して番号を検出する
- 6. 素早く番号の次の倍数を見つける
- 7. Jekyllが挿入した番号ページ番号
- 8. 要素内のテキストとして要素インデックス(子番号)を挿入する方法はありますか?
- 9. プロジェクトヘッドリビジョン番号をプロジェクトファイルに挿入する
- 10. 番号をテキストフィールドに挿入する(Robotframework)
- 11. どのように素早く配列の最も近い番号に変数を丸めますか?
- 12. 挿入番号1-2ではなく2-1
- 13. テーブルに挿入または更新された番号を取得
- 14. ビルド番号またはタイムスタンプをAngularCLIのビルド時に挿入する方法
- 15. string :: replaceは正しく動作しません100%時間?
- 16. string変数をdatagridview.Columns []に挿入します。ここで、stringまたはintは必須です。 C#
- 17. WPFで簡単に素早くユーザー入力を取得できますか?
- 18. MySQLに連続番号を挿入
- 19. Crystalレポートにページ番号を挿入
- 20. ANTビルドファイルはどのようにして生成されたJavadocにバージョン番号を挿入できますか?
- 21. は、挿入操作後にsqldatasourceの自動番号を取得します
- 22. メジャーバージョン番号のみを使用してファイルをGACに挿入します。
- 23. リンクされたリストに整理番号を挿入する
- 24. 失われた番号ごとに行を挿入する
- 25. クエリ結果セットをJSONに素早くダンプできますか?
- 26. phpmyadminインポートでcsvから正しく番号が挿入されない
- 27. Powershell-名前を変更します。番号をファイル名に挿入
- 28. 「1」ではなく「001」としてOracle番号データ型列にデータを挿入したい
- 29. 以前に動的に挿入された要素にhtml要素を挿入しますか?
- 30. テキストをファイル(.bat)に挿入し、順番に番号を増やす
両方を試しましたか?あなたの結果は何でしたか?数字を固定桁数にフォーマットすることは可能ですか? (もしそうなら、再利用のためにchar配列を作成すると助けになるかもしれません...)基本的にはここで十分な情報をまだ提供していません。これまでに行ったことを具体的なパフォーマンス要件とともに示す[mcve]が本当に助けになります。 –
@JonSkeet私は多くのコーディングに集中していましたが、この質問を部屋に投げるだけでしたが。私はガイドラインを忘れて申し訳ありません、本当に私の質問を考える必要があります... – GreenThor