一、StringBuffer(线程安全的可变字符序列)
1、构造方法:
public StringBuffer() //构建一个字符串缓冲区,默认初始容量为16;
public StringBuffer(int capacity) //构建一个指定容量为 int capacity的字符串缓冲区;
public StringBuffer(String str) //构建一个带有字符串String str的字符串缓冲区,容量为str + 16;
获取的方法:
public int length():获取字符串长度
public int capacity():获取字符串缓冲区的容量大小
注:1)在StringBuffer中添加字符串的时候 它的容量一只在扩大,并不是容量是多少就只能放入多少个字符;
2)默认的如果都是由英文或者数字组成的字符串,其容量永远比字符串长度大16;
3)创建对象时候不能直接把一个字符串,或者String类型的值赋给StringBuffer。
egg: 错误写法: String s = "hello" ;
StringBuffer sb = s ;
StringBuffer sb = "hello" ;
正确写法: StringBuffer sb = new StringBuffer("hello");
2、常用方法:
添加功能
public StringBuffer append(String str)
public StringBuffer insert(int offset,String str) //在指定int offset位置 添加字符串String str
删除功能
public StringBuffer deleteCharAt(int index) //删除 int index位置的字符
public StringBuffer delete(int start,int end) //删除从 int start开始 到 int end结束的字符串(包左不包右);
替换功能
public StringBuffer replace(int start,int end,String str) //从int start开始 int end结束这段字符串 用String str替换;
反转功能
public StringBuffer reverse() //翻转当前字符串 返回的依旧是StringBuffer类型
截取功能
public String substring(int start) //从 int start开始 截取后半段字符串,返回String类型
public String substring(int start,int end)
3、String与StringBuffer相互转换
1)String转换StringBuffer
方式一:通过StringBuffer的构造方法
StringBuffer sb = new StringBuffer("String");
方式二:使用append()方法添加字符串
创建一个空的StringBuffer的对象使用append()添加字符串
StringBuffer sb =new StringBuffer();
sb.append("String");
2)StringBuffer转换String
方式一:通过String的构造方法
String s = new String(StringBuffer sb);
方式二:通过StringBuffer的toString()方法,返回的是一个String类型的字符串
String s = new StringBuffer("String").toString;
方式三:通过StringBuffer的截取功能
String s = new StringBuffer("String").substring(0);
4、StringBuffer的安全性和可变性
1)安全性(与多线程有关)
StringBuilder(可变字符序列):与String功能构造方法,成员方法完全相同
相对于StringBuffer StringBuilder线程不安全,不同步,效率高
StringBuffer:线程安全,同步,效率低,用在多线程中使用
2)可变性(相对于String不可变)
形式参数的问题
String类型作为形式参数和基本数据类型是一样的
StringBuffer作为形式参数不一样
egg:
二、Integer(int基本数据类型的包装类)
1、包装类: byte--------->Byte
short------->Short
int--------->Integer
long-------->Long
float------->Float
double------>Double
boolean----->Boolean
char-------->character
2、Integer的构造方法及成员方法概述:
Integer(int value)
构造一个Integer 对象,它表示指定的 int 值。
Integer(String s)
构造一个Integer 对象,它表示 String 参数所指示的 int 值。
String类型的值必须使用数字,数字类型的字符串
否则会报 NumberFormatException:数字格式化异常!
其方法主要是对整数进行的一系列操作,如十进制与 二、八、十六进制的转换等等
3、int与String的相互转换
1)int转换String
方式一:通过字符串拼接
int i = 10;
String s = "" + i;
方式二:通过Integer的toString()方法
Integer i = new Integer(10);
String s = i.toString();
//toString被static修饰
String s = Integer.toString(10) ;
2)String转换int
方式一:通过Integer的构造方法
Integer i = new Integer("10");
方式二:通过Inetger的parseInt()方法
int i = Integer.parseInt("10") ;