new StringBuffer(int n)的陷阱

原创 2004年06月23日 10:18:00

StringBuffer sb = new StringBuffer(2004);

sb.append("-");

sb.append(6);

sb.append("-");

sb.append(14);

System.out.println(sb);

你猜会输出什么?

"2004-6-14"

错了,输出的是"-6-14"

我们看到StringBuffer重载了append(),

看到append(int )的效果,

又看到new StringBuffer(String s)

等价与

{

?? StringBuffer sb = new StringBuffer();

?? sb.append(s);

}

就以为new StringBuffer(int n);

等价于:

{

?? StringBuffer sb = new StringBuffer();

?? sb.append(n);

}

其实不是.

new StringBuffer(int n);表示new一个StringBuffer,并且初始化它的长度到n,

它里面的内容还是空的.

看看文档的说明:

??? /**
???? * Constructs a string buffer with no characters in it and an
???? * initial capacity specified by the length argument.
???? *
???? * @param????? length?? the initial capacity.
???? * @exception? NegativeArraySizeException? if the length
???? *?????????????? argument is less than 0.
???? */

StringBuffer类常用方法(Java)

StringBuffer类和String 类最大的区别在于他的内容和长度都是可以改变的。。 常用方法演示:(课本上源代码) package example1.cpm; public clas...
  • hdd871532887
  • hdd871532887
  • 2015年12月15日 21:40
  • 342

java中String的常用方法

java中String的常用方法  1、length() 字符串的长度    例:char chars[]={'a','b'.'c'};      String s=new String(cha...
  • fdsafwagdagadg6576
  • fdsafwagdagadg6576
  • 2015年08月09日 21:01
  • 225

StringBuffer何时初始化到常量池

首先,在源代码中用双引号引起来的会自动进入常量池中(其实字符串对象是在堆中,然后常量池里有个引用指向它,但是和直接说在常量池中似乎没多大影响,下面也就这么说了) String s1 = new ...
  • ikownyou
  • ikownyou
  • 2017年04月10日 13:33
  • 546

黑马程序员_Java语言_常见对象(StringBuffer,数组,Arrays)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-13.01_常见对象(StringBuffer类,Arrays类,Integer类)...
  • jiao142857
  • jiao142857
  • 2015年05月06日 16:33
  • 620

回溯法_n皇后问题

回溯法主要思想说的是从根结点开始深度优先方式搜索整个解空间;从根结点纵向搜索,符合条件继续往下搜索,知道叶子节点,则解加一,不符合条件回溯到父母结点,再继续纵向搜索。    n皇后问题:将n个皇后放在...
  • qq_37939974
  • qq_37939974
  • 2017年03月23日 22:03
  • 131

n后问题(回溯法)

一.问题描述: 在n*n格子上放置n个皇后, 按照国际象棋规矩不可让皇后相互攻击, 即如何两个皇后不放在同一列同一行同一斜线上. 二.算法设计: 将问题转化为逐行放置皇后,即第一次放第1行,第二次放第...
  • dh626995617
  • dh626995617
  • 2015年12月04日 21:36
  • 691

字符串逆序,字符串转为字符数组 、字符串转字节数组,字节数组转字符串、java中String、StringBuffer、StringBuilder

静态方法调用非静态方法:要new 对象 静态方法调用方式:不用创建对象也可以调用 java中String、StringBuffer、StringBuilder 字符串逆序,字符串转为字符数组 ...
  • u010363836
  • u010363836
  • 2016年04月15日 17:31
  • 1668

StringBuilder和StringBuffer解析(百度面试题优化需要用到的)

StringBuilder是java5及以后提供的API,它不是线程安全的,而StringBuffer是java1.4以前的API,它是线程安全的,所以说StringBuilder的效率更高一些,今天...
  • u012859193
  • u012859193
  • 2014年04月26日 11:15
  • 2243

常见对象_StringBuffer的删除功能

package cn.itcast_03; /* * StringBuffer的删除功能 * public StringBuffer deleteCharAt(int index):删除指定...
  • L1585931143
  • L1585931143
  • 2016年11月14日 20:42
  • 710

关于int *p[n]和int (*p)[n]的超详细讲解

在编程中,会遇到这样的情况: int *p[n]; int (*p)[n]; 还有一种情况是声明函数: int *p(); int (*p)(); 这些分别表示什么意思呢? 表面上看这些问题,好像是...
  • ywb201314
  • ywb201314
  • 2016年07月29日 10:21
  • 1139
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:new StringBuffer(int n)的陷阱
举报原因:
原因补充:

(最多只允许输入30个字)