[解決済み] JavaでStringBuilderを使うタイミング【重複】について
2022-03-25 18:04:27
質問
を使うのが一般的に好ましいとされています。
StringBuilder
は、Java の文字列の連結に使用されます。これは常にそうなのでしょうか?
どういうことかというと、こういうことです。を作成するオーバーヘッドが大きいかどうかです。
StringBuilder
オブジェクトを呼び出し
append()
メソッドを実行し、最後に
toString()
で既存の文字列を連結すると、すでに小さくなっています。
+
演算子は、2つの文字列に対して有効なのでしょうか?
もしそのような閾値があるとしたら、それは何に依存するのでしょうか(おそらく文字列の長さでしょうが、どのような方法で)?
また、最後に
+
のパフォーマンスと比較して
StringBuilder
2つ、3つ、4つの文字列のような小さな場合では?
の明示的な使用
StringBuilder
において、通常の連結は時代遅れであると述べられています。
廃止されたJava最適化のヒント
と同様に
Java都市伝説
.
どうすれば解決するの?
ループ内でString concatenationを使用する場合、以下のような感じになります。
String s = "";
for (int i = 0; i < 100; i++) {
s += ", " + i;
}
という場合は
StringBuilder
(ただし
StringBuffer
の代わりに
String
なぜなら、その方がより高速で、より少ないメモリを消費するからです。
ステートメントが1つの場合。
String s = "1, " + "2, " + "3, " + "4, " ...;
とすると
String
を使うので、コンパイラは
StringBuilder
を自動生成します。
関連
-
Java Exceptionが発生しました エラー解決
-
Dateが型に解決できない問題を解決する
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Java の toString() における StringBuilder と文字列連結の比較
-
[解決済み] Javaは複数行の文字列をサポートしていますか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IllegalArgumentException この例外を解決する方法
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
Dateが型に解決できない問題を解決する
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
JSPで「リストが型解決できない!」の解決方法
-
Java(1)仕上げの基本概念+eclipseのインストール構成
-
[解決済み] Javaで、より効率的に文字列を追加する方法は?[重複しています]。
-
[解決済み] Java の toString() における StringBuilder と文字列連結の比較