java.lang.StringBuilder类
字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)
底层也是一个数组,但是没有被final修饰,可以改变长度byte[] value = new byte[16];
StringBuilder在内存中始终是一个数组,占用空间小,效率高
如果超出StringBuilder的容量,会自动扩容
构造方法
StringBuilder()构造一个不带任何字符的字符生成器,其初始容量为16个字符
StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字符串内容。
常用方法
public StringBuilder append(…);添加任意类型数据的字符串形式,并返回当前自身。
public String toString();将当前StringBuilder对象转换为String对象
2.包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性(没有成员变量和成员方法可以调用),因此,java为每种数据类型分别设计了对应的类,即包装类。
2.2装箱与拆箱
装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
构造方法:
Integer(int value)构造一个新分配的Integer对象,它表示指定的int值
Integer(String s)构造一个新分配的Integer对象,他表示String参数所指示的int值。
静态方法:
static Integer valueOf(int i)返回一个表示指定的int值的Integer实例。
static Integer valueOf (String s)返回保存指定的String的值的Integer对象
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
成员方法:
int intValue() 以int 类型返回该Integer的值
2.3自动装箱与自动拆箱
自动装箱与自动拆箱:基本类型的数据和包装类之间可以自动的相互转换(JDK1.5之后出现的新特征)
比如:
(自动装箱)Integer in=1;相当于Integer in =new Integer(1);
(自动拆箱)in + 2就相当于in.intValue() + 2 =3;
ArrrayList集合无法直接储存整数,可以储存Integer包装类,list.add(1);->自动装箱list.add(new Integer(1))
int a = list.get(0);->自动拆箱 list.get(0).intValue();