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();

那么为什么我不能StringStringBuffer标签中放置一个简单的文字message_data呢?我的意思是两者都是类型String..对吗??

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 回答