StringBuffer的解读(二)
StringBuffer的解读(二)
StringBuffer默认容量大小是16个字符。
- StringBuffer后面append NULL的测试,代码如下:
public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer("the"); System.out.println("sb is: " + sb);; String str = null; sb.append(str); System.out.println("sb is: " + sb);; } }
- StringBuffer后面append字符串+原先字符数组<容量的测试,代码如下:
public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer("the"); System.out.println("sb.length: " + sb.length()); System.out.println("sb.capacity: " + sb.capacity()); sb.append(" redpig"); System.out.println("sb.length: " + sb.length()); System.out.println("sb.capacity: " + sb.capacity()); } }
- StringBuffer后面append字符串+原先字符数组>容量,且<容量x2+2的测试,代码如下:
public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer("the"); System.out.println("sb.length: " + sb.length()); System.out.println("sb.capacity: " + sb.capacity()); sb.append(" redpig is writting java programs"); System.out.println("sb.length: " + sb.length()); System.out.println("sb.capacity: " + sb.capacity()); } }
- StringBuffer后面append字符串+原先字符数组>容量x2+2的测试,代码如下:
public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer("the");//original length is 3 System.out.println("sb.length: " + sb.length()); System.out.println("sb.capacity: " + sb.capacity()); sb.append(" redpig is writting java programs for fun");//string's length is 33 System.out.println("sb.length: " + sb.length()); System.out.println("sb.capacity: " + sb.capacity()); } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
StringBuffer的解读(一)
对于StringBuffer的解读 所有的源代码都是jdk1.8.0_202。 append(String str)方法的实现,代码如下: @Override public synchronized StringBuffer append(String str) { toStringCache = null; super.append(str);//直接调用父类的append方法。 return this; } 其中调用了其父类AbstractStringBuilderde的append(String str)这个方法,代码如下: public AbstractStringBuilder append(String str) { if (str == null) return appendNull(); int len = str.length(); ensureCapacityInternal(count + len); str.getChars(0, len, value, count); count += len; return this; } 其中appendNull方法,代码...
- 下一篇
编辑器扩展——自定义窗口
Unity 允许用户实现自定义窗口,以实现项目更加灵活且系统的配置。例如关卡编辑器、打包编辑器等等。它是能做出最多自定义功能的,但是实现过程其实也是比较固定的。总得来说自定义窗口最重要的部分其实是窗口内GUI得布局和方法,也就是说你要在窗口里做些什么。 窗口类型 默认窗口(可与其他窗口合并):适合做编辑器窗口。弹窗 (PopUp):适合做窗口分层。对焦弹窗(DropDown,失去焦点自动关闭):适合提示类窗口,比如插件介绍。辅助窗口(AuxWindow):说是能够实现窗口重用,但是官网没有实例,不清楚具体是怎么实现重用的。浮动窗口(UtilityWindow):所有不能被合并的窗口都叫浮动窗口通知消息 (Notification):显示在窗口上,会自动淡出。可以调用RemoveNotification()将其手动关闭。绘制 绘制自定义窗口最重要的是要实现OnGUI函数和一个可供MenuItem调用的静态方法(假设叫 Init 函数)。 OnGUI是自定义窗口类必须要实现的函数,其中实现具体布局和方法调用,决定窗口里看起来是怎么样的以及能实现什么功能。 Init函数其实是MenuItem...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池