黑马程序员技术交流社区
标题:
关于sop打印功能的问题,求教,谢谢!
[打印本页]
作者:
刘宁
时间:
2012-3-19 17:15
标题:
关于sop打印功能的问题,求教,谢谢!
public static void method_append()
{
StringBuffer sb = new StringBuffer();
StringBuffer sb1 = sb.append("abc");
sop(sb);
sop(sb1);
}
public static void main(String[] args)
{
method_append();
}
public static void sop(String str)
{
System.out.println(str);
}
StringBufferDemo.java:25: 错误: 无法将类 StringBufferDemo中的方法 sop应用到给定
类型;
sop(sb);
^
需要: String
找到: StringBuffer
原因: 无法通过方法调用转换将实际参数StringBuffer转换为String
StringBufferDemo.java:26: 错误: 无法将类 StringBufferDemo中的方法 sop应用到给定
类型;
sop(sb1);
^
需要: String
找到: StringBuffer
原因: 无法通过方法调用转换将实际参数StringBuffer转换为String
2 个错误
然后我把参数换成
public static void sop(Object obj)
{
System.out.println(obj);
}
就通过编译了,这个我知道为什么,但是毕老师用的是String str 为什么我不行啊?
作者:
Destiny
时间:
2012-3-19 17:26
你给SOP传得是啥?
sop(sb); sb是StringBuffer类型的吧 但是
public static void sop(String str)
{
System.out.println(str);
}
你传得是String 类型的 ,不同吧 ?
作者:
Destiny
时间:
2012-3-19 17:38
或者 你加一句
sop(sb.toString())
; 将sb转换成字符串。 不知道你明白没有
作者:
魏群
时间:
2012-3-19 18:19
方法参数类型不匹配 sop()的参数是String类型的 你传的是StringBuffer类型的 应把StringBuffer转换成String类型 用 toString() 方法
作者:
刘元明
时间:
2012-3-19 18:53
sb.append("abc")后得到的sb1 返回类型仍是StringBuffer
而方法sop中接收的参数str类型应该是String
所以会出错的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2