我是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
放入标有StringBuffer
的{{1}}中?
我的意思是两种类型message_data
..对吗?
答案 0 :(得分:7)
不,String
和StringBuffer
完全无关。尝试
message_data.append("LU62XCE0513: Request File I/O Exception =");
虽然我们注意到了这一点:请注意StringBuffer
是一个遗留类,在新代码中最好用StringBuilder
替换,除非您需要跨线程共享对象。它的源码兼容,所以只需更改名称即可。
答案 1 :(得分:1)
两个对象都可以表示字符串,但它们不是类型字符串。您可以通过new StringBuffer(message_data)
直接从字符串创建字符串缓冲区。
答案 2 :(得分:-2)
将消息传递给message_data.toString()
Throwable
即可