StringBuffer
字符串缓冲区,容器,面盆理论,
特点: 长度可变;可以直接操作将多种数据类型;通过toString方法变成字符串
StringBuffer sb = new StringBuffer(); StringBuffer sb1 =sb.append(fes); sop(sb==sb1:+(sb==sb1));输出结果为:true
==比较的是内存首地址,sb==sb2说明指向同一个缓冲区
StringBuffer被final修饰,所以不能被继承
增删改查
1,存储
StringBuffer append();在尾部添加
StringBuffer insert(index,数据);在指定位置添加
2,删除
StringBuffer delete(start, end);删除缓冲区中数据,包含start不包含end
StringBuffer deleteCharAt(index);删除自定位置的字符
3,获取。
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start, int end)
4,修改。
StringBuffer replace(start,end,string);头,尾,被替换内容
void setCharAt(int index, char ch) ;替换一个字符,只替换,不返回
5,反转。
StringBuffer reverse();
6,将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
JDK1.5 版本之后出现了一个兼容的APT;StringBuilder.;
StringBuffer是线程同步。 多线程
StringBuilder是线程不同步。 单线程
以后开发,建议使用StringBuilder ;效率更高
升级三个因素:提高效率,简化书写,提高安全性
常见操作示例
class StringTest
{
public static void sop(String str){
System.out.println(str);
}
public static void main(String[] args){
//method_add();
//method_dell();
//method_update();
method_6();
}
public static void method_6(){
StringBuffer sb= new StringBuffer(abcdefg);
char[] chs = new char[6];
sb.getChars(1,5,chs,2);//将缓冲区指定字符串存到指定数组中的指定位置
for(int x=0;x
基本数据类型对象包装类
基本数据类型对象包装类。 byte Byte short short int Integer long Long boolean Boolean float Float double Double char Character 基本数据类型对象包装类的最常见作用, 就是用于基本数据类型和字符串类型之间做转换 基本数据类型转成字符串。 基本数据类型+ 基本数据类型.toString(基本数据类型值); 如: Integer.toString(34);//将34整数变成34; 字符串转成基本数据类型。parse xxx a = Xxx.parseXxx(String); int a = Integer.parseInt(123); double b = Double.parseDouble(12.23); boolean b = Boolean.parseBoolean(true); Integer i = new Integer(123); int num = i.intValue();
十进制转成其他进制。 toBinaryString(); toHexString(); toOctalString();
其他进制转成十进制。 parseInt(string,radix);
基本数据类型包装类示例
class IntegerDemo
{
public static void sop(String str)
{
System.out.println(str);
}
public static void main(String[] args)
{
//Integer x = new Integer(4);
Integer x = 4;//自动装箱,对象不能为null new Integer(4);
x = x+2; //x进行自动拆箱,变成int类型,运算后再将结果装箱赋给x
//拆箱原理:x.intValue()
Integer a = 128;
Integer b = 128;
Integer m = 127;
Integer n = 127;
sop(a==b:+(a==b));//false 开辟新空间,不是同一个对象
sop(m==n:+(m==n));//true 新特性:当数值在byte范围内时,如果该数值已经存在,不开辟新空间
}
public static void method_trans() //数据类型转换
{
int num = Integer.parseInt(123);//将字符串转换成int型
long x = Long.parseLong(123);
//sop(num=+num);
//sop(x=+x);
sop(Integer.toBinaryString(60));//将十进制转换成二进制
sop(Integer.toHexString(60));//将十进制转换成16进制
sop(Integer.toOctalString(60));//将十进制转换成八进制
sop(x=+ Integer.parseInt(1111,16) );//将其他进制转换成十进制
}
public static void method_equals() //Integer复写了Object类中的equals方法
{
Integer x= new Integer (123);
Integer y= new Integer (123);
sop(x==y: +(x==y)); //是否同一个对象
sop(x.equals(y):+x.equals(y));//是否相等,
}
}
---------------------------------------- android培训、java培训、期待与您交流! ------------------------------------