关于StringBuffer对象的append方法介绍,在Ivor Horton所著的《Java 2 入门经典(JDK 5)》(英文名:Beginning Java 2,JDK 5 Edition)中第4章数组和字符串讲解中,第4.4小节(向StringBuffer对象增加其他内容)介绍了用append()方法追加子串的功能。原文提供例子如下:
StringBuffer buf=new StringBuffer("Hard ");
String aString = "Waxworks";
buf.append(aString,3,4);
原文说明:这个操作将aString的从索引位置3开始的由四个字符组成的子串追加到StringBuffer对象buf中。然后buf对象就会包含字符 串"Hard work"。
请注意,这个代码的实际运行结果是: buf对象包含的字符串为"Hard w"。
根据运行结果分析,StringBuffer对象的append()方法的参数,如果是String类型,那么,后面取子串的操作实际是从索引3开始,取值到索引4之前的串。如果append的语句改成 buf.append(aString,3,3); ,那么没有添加aString的子串,即 buf包含的字符实际还是"Hard "。如果此语句再改成 buf.append(aString3,2); ,那么系统会抛出"IndexOutOfBoundsException"的异常!
但是,如果append()的参数是字符数组(char[]),那么结果就如原文所述,buf将包含串"Hard work". 代码如下:
StringBuffer buf=new StringBuffer("Hard ");
char[] text ={'W','a','x','w','o','r','k','s'};
buf.append(text ,3,4); // buf包含串"Hard work"
分享到:
相关推荐
// 创建一个空的StringBuffer对象 StringBuffer sb = new StringBuffer(); // 向StringBuffer对象中添加字符串 sb.append("Hello"); sb.append(" "); sb.append("World"); // 将StringBuffer对象转换为String对象 ...
append、insert、indexOf等公共方法。StringBuffer对方法加了同步锁或者对调用的方法加了同 步锁,所以是线程安全的。StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。 性能 每次对String 类型进行改变...
(6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。 例:int a=42; StringBuffer sb=new StringBuffer(40); String s=sb.append("a=").append(a).append("!").toString();...
(3)调用StringBuffer对象的append方法追加购物信息 goodsList.append(name + "\t" + "¥" + price + "\t\t" + count + "\t\t" + "¥" + (price * count) + "\t\n"); (4)测试购物结算模块:Menu类中的...
列出文件名,是一个Java目录直读程序的例子,代码中定义了一个showDirContent方法,该方法实现取得目录内容,用路径实例化一个文件对象,重点:取得目录内所有文件列表,实例化一个StringBuffer,用于处理显示的字符串...
//用路径实例化一个文件对象 File[] files=file.listFiles();//重点:取得目录内所有文件列表 StringBuffer message=new StringBuffer();//实例化一个StringBuffer,用于处理显示的字符串 message.append...
同样也可以看出,Object的equals方法没有达到equals方法应该达到的目标:比较两个对象内容是否相等。因为答案应该由类的创建者决定,所以Object把这个任务留给了类的创建者。所以当你是用equals方法判断对象的内容...
StringBuffer.prototype.append = function (str){ this._strings_.push(str); } /** * 返回真正连接成的字符串 */ StringBuffer.prototype.toString = function(){ return this._strings_.join(""); ...
* 查询的对象属性 * @param condition * 查询的条件,关系符 * @param value * 查询的值 */ public SqlUtils setWhereStr(String relation, String property, String condition, Object value) { ...
StringBuffer sb = new StringBuffer();// 存储参数 String params = "";// 编码之后的参数 try { // 编码请求参数 if(parameters.size()==1){ for(String name:parameters.keySet()){ sb.append(name)....
1. 简单类型是按值传递的 ... swap(int[] data, int a, int b) 方法在内部实际上是改变了 data 所指示的对象的成员数据,即上述讨论的第二种改变参数值的方法。希望大家能够举一反三,使用类似的方法来解决相关问题。
b0.set(key,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).append(".").append(String.valueOf(j)).toString()); } else if(ob1 instanceof JSONObject)//如果下级是json...
2.17.1.1 1) append() 方法 37 2.17.1.2 2) deleteCharAt() 37 2.17.1.3 3) insert() 方法 38 2.17.1.4 4) setCharAt() 方法 38 2.18 String和StringBuffer的效率对比 38 2.19 StringBuilder类 39 2.20 总结 39 2.21...
String x=”a” 4 ”c”编译时等效于String x=new StringBuffer().append(“a”).append(4).append(“c”).toString(); 字符串常量是一种特殊的匿名对象,String s1=”hello”;String s2=”hello”;则s1==s2;因为...
(2)在没次循环中,都只是调用原来的那个stringbuffer对象,没有创建新的对象,所以效率比较高。 1.1.1.2System类与Runtime类 由于java不支持全局函数和全局变量,所以java设计者将一些与系统相关的重要函数和变量...
1. 设有一个字符数组,现对数组中的元音字母做一个统计。 2. 设计一个Java程序,设有一个...14. 首先定义一个StringBuffer类对象S,然后通过append()方法为对象添加26个小写字母,要求每次添加一个字母,共添加26次。
5.4.3 添加append() 5.4.4 插入insert() 5.5 实例:字符串应用 5.6 本章习题 第6章 数组 6.1 一维数组 6.1.1 数组的概念 6.1.2 一维数组的声明 6.1.3 一维数组的初始化 6.1.4 一维数组的使用 6.1.5 一维...
//用路径实例化一个文件对象 File[] files=file.listFiles(); //重点:取得目录内所有文件列表 StringBuffer message=new StringBuffer(); //实例化一个StringBuffer,用于处理显示的字符串 message.append...
StringBuffer sb = new StringBuffer(); //字符串缓冲 InputStream is = connection.openInputStream(); //获取输入流 int ch; while((ch = is.read()) != -1) { //读取字符 sb.append((char)ch); //...
StringBuffer sb = new StringBuffer(); //字符串缓冲 InputStream is = connection.openInputStream(); //获取输入流 int ch; while((ch = is.read()) != -1) { //读取字符 sb.append((char)ch)...