2

私はJava初心者ですが、経験豊富なプログラマー(アセンブラー、COBOL、C / C ++、REXX)です。

コンパイラが私に次のことを教えてくれる理由がわかりません。

[loading java\lang\Throwable.class(java\lang:Throwable.class)]
src\LU62XnsCvr.java:265: incompatible types
found   : java.lang.String
required: java.lang.StringBuffer

コード:

message_data = "LU62XCE0513: Request File I/O Exception =" ;

私は次のように定義message_dataしました:

static StringBuffer message_data = new StringBuffer();

では、なぜラベルに単純な文字Stringを配置できないのでしょうか。つまり、両方ともタイプです..そうですか?? StringBuffermessage_dataString

4

3 に答える 3

7

いいえ、まったく関係Stringありません。StringBuffer試す

message_data.append("LU62XCE0513: Request File I/O Exception =");

その間、これはレガシークラスであり、スレッド間でオブジェクトを共有する必要があるというまれな場合を除いて、新しいコードでStringBuffer置き換えるのが最適であることに注意してください。StringBuilderソース互換なので、名前を変更するだけで大​​丈夫です。

于 2011-04-22T16:46:13.997 に答える
1

両方のオブジェクトは文字列を表す場合がありますが、理論的には文字列型の両方ではありません。を介して文字列から直接文字列バッファを作成できますnew StringBuffer(message_data)

于 2011-04-22T16:46:57.120 に答える
-2

message_data.toString()メッセージをに渡すときに呼び出すだけですThrowable

于 2011-04-22T16:52:08.213 に答える