Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
new StringBuffer(int n)的陷阱

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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.
???? */




相关文章

相关软件