Java学习笔记之:Java StringBuffer类
一、引言
当对字符串进行修改的时候,需要使用StringBuffer类。
和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未用对象。
二、StringBuffer 方法
以下是StringBuffer类支持的主要方法:
序号 | 方法描述 |
---|---|
1 | public StringBuffer append(String s) 将指定的字符串追加到此字符序列。 |
2 | public StringBuffer reverse() 将此字符序列用其反转形式取代。 |
3 | public delete(int start, int end) 移除此序列的子字符串中的字符。 |
4 | public insert(int offset, int i) 将 int 参数的字符串表示形式插入此序列中。 |
5 | replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串中的字符。 |
三、笔记
package com.hgd.study6.other; /** * * stringbffer 字符串缓冲类,可变长度的字符串,对它的操作就是对内存的操作,字符串本身和返回的结果一样 * * 在使用字符串拼接的时候stringbuffer的性能要比string的性能要好,stringbuffer采用的是append方法 * string采用的是加连接 * @author HuTiger * */ public class StringAndStingBuffer { public static void main(String[] args) { String s1 = "abc"; System.out.println(s1); String s2 = "abc"; System.out.println(s2); StringBuffer sb1 = new StringBuffer("abc"); System.out.println(sb1);// 隐式的调用了tosring方法 // 当直接输出对象的时候,相当于输出了对象的.tostring StringBuffer sb2 = new StringBuffer("abc"); System.out.println(sb2); System.out.println(s1 + "d"); System.out.println(sb1.append("d")); System.out.println(s1);// 字符串长度不可变 System.out.println(sb1);// 操控的是内存,又叫做可变长度的字符串 String s = "a"; StringBuffer sb = new StringBuffer("a"); String str = s + "b"; StringBuffer sbr = sb.append("b"); System.out.println(str);// ab System.out.println(sbr);// ab /* * 性能比较,字符串拼接的测试 */ // 字符串 String string = "A"; long start = System.currentTimeMillis(); for (int i = 0; i < 100; i++) { s += "B"; } long end = System.currentTimeMillis(); System.out.println(end - start); StringBuffer stringBuffer = new StringBuffer(); start = System.currentTimeMillis(); for (int i = 0; i < 100; i++) { stringBuffer.append("B"); } end = System.currentTimeMillis(); System.out.println(end - start); System.out.println(string.equals(stringBuffer.toString())); } }
本文来自博客园,作者:HuTiger,转载请注明原文链接:https://www.cnblogs.com/huguodong/p/5892699.html,欢迎加入qq群927460240学习讨论