問題タブ [stringbuffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - StringBuilder/Buffer を効率的に使用するタイミングと方法は?
約3000個の他の文字列を連結した文字列を作成したいと考えています。非常に多くの文字列を使用すると、それらが何らかのプールに存在し、不要になった直後に GC によって取得されない可能性があるため、非効率になる可能性があると聞きました。
これが最善の方法ですか -
または、すべての文字列を 1 つの文字列に連結する必要がありますか?
java - StringBufferとStringの違い
StringBufferとStringを使用して関数をテストするとき。StringBufferを使用すると、2秒または3秒以内にjava.lang.OutOfMemoryErrorが発生しますが、Stringを使用すると、1分までjava.lang.OutOfMemoryErrorエラーが発生しませんでした。何が違うのか、正確にはわかりません。
c++ - stringstream-> rdbuf()->pubsetbufがバッファを設定していません
メソッドpubsetbufを使用して、文字列をコピーせずに文字列ストリームオブジェクトの文字列バッファを変更しようとしていますが、機能していません。http://www.cplusplus.com/reference/iostream/streambuf/pubsetbuf/のドキュメントに従っています。これが私のサンプルコードです:
そして、出力は次のとおりです。
stream.str(replace)を使用できることはわかっていますが、このメソッドは'replace'の値をコピーするため、コピーを作成したくありません。
私は何が欠けていますか?
更新:VS2010を使用しています
java - String Buffer SetLength(X) メソッドを追加
string の可能なすべての部分文字列を生成する次のコードがあります。
私の質問は次のとおりです。最後の行で sb.setLength(sb.length()-1) の場合、正確には何が起こりますか? たとえば、文字列入力が「abc」の場合、出力は a 、 ab 、 abc のようになります。長さが設定されるとどうなりますか? それが設定された後、切り捨てられたものはありますか?その後に要素を追加しようとするとどうなりますか?
つまり、入力文字列が「abc」の場合、文字列バッファーに「abc」が含まれ、その長さが 3 になった後、 sb.setLength(sb.length() - 1 ) を実行するため、長さは now になります。どの要素が正確に切り捨てられますか? 後で追加するとどうなるでしょうか。
java - Java StringBufferは正常に動作し、reverse()は改行を追加します
次のコードでは、ケース2はテキストファイルを通常の順序で印刷しますが、正常に機能します。ただし、ケース3の場合はまったく同じですが、メソッド.reverse()を使用すると、どこからともなく改行が追加されます。(私は多くの繰り返しを切り取ることができることを知っています、私はそれを最初に機能させようとしています。)
例:
マーカス
1244
のように見えます
4421
scuraM
line.separatorの代わりに\rまたは\nを使用すると、まったく同じことがわかります。もちろん、それを取り除くと、1本の線が壊されてしまいます。
java - StringBuffer の insert() メソッドと deleteCharAt() メソッドはどのように機能しますか
Java にはいずれかStringBuffer()
またはStringBuilder()
呼び出されるメソッドがinsert()
ありdeleteCharAt()
、これら 2 つの特定のメソッドがどのように機能するかをもう少し理解することに非常に興味があります。または、標準の Java String メソッドを使用してプログラムする方法。自分で書くのはかなり簡単な方法だと思いますか?
java - java: 絞首刑執行人ゲームの繰り返し文字
絞首刑執行人プロジェクトで論理的な問題が発生しました。ユーザーからの手紙を受け取り、その手紙が秘密の単語に含まれているかどうかを検索します。ユーザーが秘密の単語の中で推測した文字が複数出現する場合、問題は私がそれをプログラムした方法です。それはただ通過し、それらすべてを示します。これは私が望んでいるものではありません。正しく推測された文字のステータスを一度に1つずつ更新したいだけです。
後にブレークを設定するなど、いくつかの異なることを試しましたstatus(guessCh,
が、イテレータは文字が一致してそこで停止する最初の出現に移動します。
これに対する簡単な修正はありますか?
n
java - Stringbuffer、Stringbuilder をいつ使用するか?
選ぶ基準StringBuffer
とStringBuilder
java - StringBuilder が StringBuffer より遅いのはなぜですか?
この例では、StringBuffer は実際には StringBuilder よりも高速ですが、反対の結果が予想されていました。
これは、JIT によって行われる最適化と関係がありますか? メソッドが同期されているにもかかわらず、StringBufferがStringBuilderよりも高速になる理由を知っている人はいますか?
コードとベンチマーク結果は次のとおりです。
ベンチマーク結果:
アップデート:
みんなありがとう。ウォームアップは確かに問題でした。ウォームアップ コードが追加されると、ベンチマークは次のように変更されました。
YMMV ですが、少なくとも全体的な比率は予想されるものと一致しています。
java - StringBufferreplaceメソッドが機能しない
Javaプログラムと同じフォルダにあるテキストファイルを読みたい。ファイルの内容を1行ずつ読み取るために使用されるreadFile()があります。そして、setName()がコンテンツの一部を置き換えます。プログラムをコンパイルしてエラーなしで実行します。ただし、ファイルの内容はまったく変更されません。
ありがとうございました