StringBuffer
Posted 薰衣草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringBuffer相关的知识,希望对你有一定的参考价值。
StringBuffer 是一个字符串缓冲区,是一个容器。
1.长度是可以变化的。
2.可以字节操作多个数据类型
3.最终会通过toString方法变成字符串
(CURD)creat update read delete
1.存储
StringBuffer append():将指定数据作为参数添加到已有数据的
结尾处
StringBuffer insert(index,数据):可以将数据插入到指定index位置。
2.删除
StringBuffer delete(int start,int end):删除缓冲区中的数据,包含start,不包含end
StringBuffer deleteCharAt(int index):删除指定位置的字符
3.获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
String substring(int start,int end)
int length()
4.修改
StringBuffer replace(int start,int end,String st);
void setCharAt(int index,char ch);
5.反转
StringBuffer reverse();
6.将缓冲区中的指定数据存储到指定字符数组中
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
JDK1.5版本之后出现了StringBuilder
StringBuffer是线程同步
StringBuilder是线程不同步的
建议使用StringBuilder。
升级三个因素:
1.提高效率
2.简化书写
3.提高安全性
public class StringBufferDemo
public static void main(String[] args)
//method_add();
// method_del();
// method_update();
StringBuffer sb = new StringBuffer("abcdefg");
char[] chs = new char[6];
sb.getChars(1,4,chs,1);
for(int x = 0; x < chs.length; x++)
sop("chs["+x+"] = "+chs[x]+";");
public static void method_add()
StringBuffer sb = new StringBuffer();
sb.append("abc").append(12).append(false).append('g');
sop(sb.toString());
public static void method_del()
StringBuffer sb = new StringBuffer("abcdef");
sb.delete(1,3);
//清空缓冲区
sb.delete(0,sb.length());
//删除单个字符
sb.deleteCharAt(2);
sop(sb.toString());
public static void method_update()
StringBuffer sb = new StringBuffer("abcdefg");
sb.replace(1,4,"java");
sb.setCharAt(2,'k');
sop(sb.toString());
public static void sop(String s)
System.out.println(s);
//JDK1.5版本之后新特性
public class IntegerDemo
public static void main(String[] args)
//Integer x = new Integer(4);
Integer x = 4; //自动装箱 //new Integer(4)
x = x + 2; //对象和整数运算。x+2:x进行了自动拆箱,变成了int类型,和2进行加法运算
//再将和进行装箱赋给x.
Integer m = 128;
Integer n = 128;
sop("m == n : "+(m == n));
Integer z = 127;
Integer y = 127;
sop("z == y : "+(z == y));//结果为true,因为z和y指向了同一个Integer对象。
//因为当数值在byte范围内时,对于新特性,如果该数值已经存在,则不会开辟新空间
method();
public static void method()
Integer x = new Integer("123");
Integer y = new Integer(123);
sop("x == y : "+(x == y));
sop("x == y : "+x.equals(y));
public static void sop(String str)
System.out.println(str);
运行结果:
m == n : false
z == y : true
x == y : false
x == y : true
以上是关于StringBuffer的主要内容,如果未能解决你的问题,请参考以下文章
Java基础之String类StringBuffer类StringBuilder类