黑马程序员技术交流社区

标题: StringBuffer容器相关问题 [打印本页]

作者: \(^o^)/    时间: 2014-4-21 13:58
标题: StringBuffer容器相关问题
  1. class StringBufferDemo
  2. {
  3. public static void main(String[] args)
  4. {
  5. StringBuffer sb=new StringBuffer();

  6. sb.append("abc").append(true).append(36);

  7. sb.insert(1,"1qq");

  8. sop(sb.toString());

  9. }
  10. public static void sop(Object obj)
  11. {
  12. System.out.println(obj);
  13. }
  14. }
复制代码
在sb.append(true)中添加了true编译能通过,但是添加了其他关键字的时候怎么编译失败?

作者: 为梦想而活着    时间: 2014-4-21 15:48
我也不知道,坐等高人指点~
作者: 海世山盟    时间: 2014-4-21 17:31
     StringBuffer 里面装的是数据,数据有很多类型---int double  boolean等等等。你这里存入的true是作为布尔型的数据类型存入进去的。所以程序当然没有问题。还有就是true不是关键字。

作者: kuroro自走核炮    时间: 2014-4-21 18:07
public StringBuffer append(boolean b)将 boolean 参数的字符串表示形式追加到序列。
参数将被转换成字符串,就好象使用了 String.valueOf 方法一样。然后,将所得字符串中的字符追加到此序列。


参数:
b - 一个 boolean 值。
返回:
此对象的一个引用。
另请参见:
String.valueOf(boolean), append(java.lang.String)

添加true正好是符合这个方法的。
作者: 陈文怀    时间: 2014-4-21 19:40
boolean是属于基本数据类型的,你传true是可以的,但是别说你传其他关键字,你就是个随便的字也不行,除非你这个字是加''或者""的
作者: 坏米饭    时间: 2014-4-21 20:20
ture是个值,不是关键字,所以能添加。 所有的关键字都不能添加的。 不过字符串当然能添加。如:
append(void);//不能添加。
append("void");//可以添加。
作者: dede668    时间: 2014-4-21 21:09
楼主可以查一下API,在append中,可以传递任何类型的数据,这里的true是Boolean类型的数据




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2