关于StringBuffer对象的append方法介绍
关于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`对象主要有两种方式: - **无参数构造器**:`StringBuffer s = new StringBuffer();` 这将创建一个空的`StringBuffer`对象,初始容量通常是16个字符。 - **带参数...
Java 高级特性 StringBuffer ...append 方法是 StringBuffer 类中的一种常用方法,该方法的作用是追加内容到当前 StringBuffer 对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer 对象的内容也发生改变。
此方法用于调整StringBuffer对象的容量以匹配其实际长度。当不再需要额外的容量时,可以调用此方法来节省内存。例如: StringBuffer sb = new StringBuffer("Hello, World!"); sb.trimToSize(); 假设sb原本的容量...
2. **追加内容**:使用 `append()` 方法可以将指定的内容添加到 `StringBuffer` 的末尾。 ```java sb.append("要追加的字符串"); ``` 3. **插入内容**:使用 `insert()` 方法可以在指定位置插入内容。 ```java ...
它的内部机制与`String`类似,但是提供了`append()`和`insert()`等方法来改变字符串内容,而不会每次都创建新对象。例如: ```java StringBuffer sb = new StringBuffer("Hello"); sb.append(" World"); // 不会...
向 StringBuffer 中赋值可以通过它的 append 方法,例如 sb.append("hello");。 在字符串连接操作中,StringBuffer 的效率要比 String 高。例如,String str = new String("welcome to ");str += "here";的处理步骤...
在这两个例子中,第一个使用了`+`运算符进行字符串拼接,第二个使用了`StringBuffer`的`append()`方法。后者在循环或大量字符串拼接时效率更高。 #### 示例2 ```java public String getString(String s1, String s2...
8. **`append(String str)`**, **`append(int num)`**, **`append(Object obj)`** - 在`StringBuffer`的末尾追加一个字符串、整数或任意对象的字符串表示。 9. **`insert(int index, String str)`**, **`insert(int ...
而StringBuffer示例中,使用append方法实际上是在修改原有对象的内容,并且这种修改会反映在所有指向这个StringBuffer对象的引用上。 为了进一步理解二者的差异,我们可以通过String和StringBuffer的内存使用和操作...
StringBuffer 是线程安全的,关于线程的概念后续有专门的章节进行介绍,所以在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。 StringBuffer 是一种非常重要的 Java 基础知识,...
在多线程环境下,`StringBuffer`的方法如`append()`和`insert()`都是同步的,保证了线程安全。 接下来,我们详细讲解`StringBuffer`的一些关键方法: 1. **append()**:此方法用于在现有字符串末尾添加新的字符...
相比于`String`,`StringBuffer`支持对其内部字符序列进行添加、删除或替换等操作,且这些操作不会产生新的对象,而是直接在原对象上进行修改。由于`StringBuffer`的线程安全特性,它非常适合多线程环境下的字符串...
1. `public synchronized StringBuffer append(String s)` - 在`StringBuffer`对象的末尾添加字符串`s`,并返回修改后的`StringBuffer`对象自身,这使得可以链式调用多个`append`方法。 2. `public synchronized ...
StringBuffer对象的初始化 `StringBuffer`对象可以通过构造方法来初始化。无参数的构造方法创建一个空的`StringBuffer`,而传入字符串的构造方法则会创建包含指定字符串内容的`StringBuffer`。例如: ```java ...
下面,我们将详细介绍StringBuffer类的使用方法和应用场景。 什么是StringBuffer类? StringBuffer类是一个字符串缓冲区类,用于存储字符的集合容器。它的主要特点是可以对字符串进行修改,而不会像String类那样...
String对象与StringBuffer对象之间可以通过构造函数和`toString`方法进行转换。例如: ```java String str = "String"; StringBuffer sb = new StringBuffer(str); String newStr = sb.toString(); ``` 总结...
`StringBuffer`和`StringBuilder`提供了`append()`方法,可以将任意类型的数据转换为字符串并追加到已有字符串的末尾。 - 例如,`stringBuffer.append("Hello").append(" ").append("World");`将创建一个"Hello ...
`StringBuffer`提供了`append()`方法来方便地追加内容,如`sb.append("hello")`。由于不涉及新的对象创建,`StringBuffer`在处理大量字符串拼接时效率远高于`String`。 在上述代码示例中,我们比较了使用`String`和...
return new StringBuffer().append(s1).append(s2); // 使用 StringBuffer } ``` 这里可以看出,虽然两种方式都可以实现字符串拼接,但是使用 StringBuffer 的方式在多线程环境中更安全。 3. **循环中的字符串...