問題タブ [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 - Java: StringBuffer と連結
次のように、Java で StringBuffer を使用して文字列を連結しています。
メソッドがあるかどうか (ドキュメントを一目見ただけでは何も見つかりませんでしたが)、または「パディング」を追加する他の方法があるかどうかを知りたいです。
説明させてください。文字列に何かを追加するたびに、次のように最後にスペースを追加します。
そして、追加する呼び出しがいくつかあります..毎回、スペースを追加したいと思います。各追加後に自動的にスペースを追加するようにオブジェクトを設定する方法はありますか?
編集 -
グロムが提案したように StringBuilder を使用しますが、それが現在のコードの外観です
c++ - stringbufを正しくオーバーロードして、MATLABmexファイルのcoutを置き換えます
cout
現在、MathWorksでは、MATLABデスクトップが開いているときにmexファイルから使用することはできません。これは、stdoutがリダイレクトされているためです。現在の回避策は、代わりに使用するように要求する関数mexPrintfを提供することです。少し調べてみると、std::stringbuf
クラスを拡張して必要なことをすることができると思います。これが私がこれまでに持っているものです。これは十分に堅牢ですか、それともオーバーロードする必要がある他の方法やこれを行うためのより良い方法がありますか?std::cout
(一般的なUNIX環境での移植性と、このコードがmex実行可能ファイルに対してリンクされていない場合に通常どおりに使用できる機能を探しています)
java - StringBuilder と StringBuffer の違い
StringBuffer
との主な違いは何StringBuilder
ですか? これらのいずれかを決定する際にパフォーマンスの問題はありますか?
java - クラスにフィールドがない場合、StringBuffer はどのようにボイドを介してデータを渡しますか?
与えられた: クラスにはフィールドがなく、すべての変数はローカルです。littleString は、Eclipse で bigString をリファクタリングすることによって作成されました。
メソッド littleString は StringBuffer を返すべきではありませんが、まだそうです。ここではどのような黒魔術が行われていますか? これは、私が知っているカプセル化のすべてのルールを破っています。ショックです、言葉が出ません。
c# - この基本的な Java メソッドに相当する C# メソッドは何ですか?
ここで本当に簡単な質問です(何よりも私の考えを確認するためです)...
Java メソッド: StringBuffer.Delete(start,end) ;
Java コード:
C# (これが正しいかどうかわからない):
よくわからない理由は、Java の delete メソッドのドキュメントにあります。それは言う
部分文字列は、指定された start から始まり、インデックス end - 1 の文字まで、またはそのような文字が存在しない場合は StringBuffer の末尾まで拡張されます。
私はこの終わりについてあまり確信が持てません-その引用の1ビット..そして、私が物事を壊した可能性があるかどうか。
乾杯 :)
編集:へー。文字列から最後の 2 文字を削除していることはわかっていましたが、正確な変換を維持していたため、冗長なコードになりました。:)
java - Javaオブジェクトのアドレスを取得する方法は?
Javaオブジェクトのアドレスを取得する方法はありますか?
質問はどこから来たのですか?:最初に、プロパティファイルを読み取り、ファイルのすべてのデータをテーブルに配置しました。プロパティファイルは更新できます。だから、そのファイルを聴きたいです。PropertyChangeSupportとPropertyChangeListenerを使用してオブジェクトをリッスンします。
updatedStatusが変更された場合は、テーブルを更新します。MyStringクラスにはプライベート文字列"Value"があります。プロパティファイルを聞きたい。したがって、updatedStatus.valueとString ofPropertiesFileを同じアドレスで等しくする必要があります。できれば、プロパティファイルをリッスンする必要はありません。
StringBufferを使おうとしましたが、実現できませんでした。そういうわけで、私は質問をしました。
java - 文字列は不変です。つまり、+= を使用してはならず、StringBuffer だけを使用するべきではありません。
文字列は不変です。つまり、一度作成すると変更できません。
では、これは、StringBuffer を作成してそれにテキストを追加した場合よりも、+= を追加した方がより多くのメモリを消費するということでしょうか?
+= を使用すると、メモリに保存する必要があるたびに新しい「オブジェクト」を作成することになりますね。
java - 再帰的Javaプログラムでの新しいオブジェクトの作成
ここでJava初心者が助けを求めています。問題のコードは次のとおりです。
これが行うことは、再帰ループのすべての反復で同じStringBufferに継続的に追加することです。実際にそれを実行できるようにしたい場合は、毎回まったく新しいStringBufferを作成します。新しいStringBufferを強制的に作成する方法はありますか?
うまくいけば、それは理にかなっています。明確にできる場所を教えてください。ありがとうございました!:)
java - StringBuffer equalsメソッドはコンテンツを比較しますか?
重複の可能性:
StringBufferの内容を等しいと比較する
そのコードが「False」を出力するのはなぜですか?
blackberry - J2ME/Java: スレッドを介した StringBuffer の参照
この質問は長くなるかもしれませんが、多くの情報を提供したいと思います。
概要: Blackberry 用の株価情報アプリを作成しています。しかし、個々の Stock 情報を含む StringBuffer に問題があります。
プロセス: アプリは SocketConnection 経由でサーバーに接続します。サーバーは、最新の株式取引を含むフォーマットされた一連の文字列を送信します。したがって、新しい取引が発生するたびに、サーバーはその取引の個別の株価を送信します。InputStream を介して、その情報を読み取り、Threads によって参照される StringBuffer に各文字を配置できます。char3に基づいて解析することで、株価/情報のセットを特定できます。
char1 - データを分離するため char3 - 株価/情報の終わりを意味します
サーバーから送信されるサンプルの株価情報フォーマット: stock_quote_name(char 1)some_data(char1)some_data(char1)(char3)
次に、私のアプリはその株価情報を解析して特定のデータを比較し、画面に表示されるときにどのように見えるかをフォーマットします。取引が徐々に(ゆっくり)行われると、アプリは完全に機能します。でも..
問題: 取引があまりにも速くほぼ同時に発生すると、アプリは送信された情報を効率的に処理できません。StringBuffer の内容は、次のトレードと組み合わされています。意味 1 つの StringBuffer に 2 つの株式情報。
フィールドは次のようになります: Stock_quote_name some_data some_data
何が起こっているかのサンプル: Stock_quote_name some_data some_dataStock_quote_name some_data some_data
この部分の私のコードは次のとおりです。
私が見ることができることから、取引が非常に高速に行われると、StringBuffer はすぐには更新されず、新しいデータを入力しようとすると以前の取引の内容が残っています。
私の質問は次のとおりです。 次の情報を最初のコンテンツに追加せずに、データを StringBuffer に入れる方法について何か提案はありますか?