String类的字符串是常量,它们的值在创建之后就不能修改,如果进行字符串的相加,内存中就会有大量的字符串,占用空间多,效率低
StringBuilder类的字符串缓冲区,底层也是一个数组,但是没有final,内容可以改变,这个数组的初始长度为16,如果超出了会自动扩充
构造方法:
无参构造:StringBuilder(); 构造一个不带任何字符的字符串生成器,其初始容量为16个字符
参数构造:StringBuilder(String str); 构造一个字符串生成器,并初始化为指定的内容
成员方法:
public StringBuilder append(...) :添加任意数据类型的字符串形式,并返回当前对象本身(地址值,无需接收)
因为返回的是对象本身,所以可以玩一下“链式编程”
bu.append("a).append("中").append(true).append(11);
public String toString(): 将当前StringBuilder对象转换为String对象,返回值就是String字符串
-
包装类(lang包)
- 基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据
可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类
我们可以使用类中的方法来操作这些基本类型的数据
基本类型 | 对应的包装类(位于lang包中) |
---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
-
装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
构造方法:
Integer(int value)构造一个新分配的Integer对象,它表示指定的int值
Integer(String s)构造一个新分配的Integer对象,它表示String参数所指示的int值,如"1","2",如果是"a"会异常
静态方法:
static Integer valueOf(int i),返回一个表示指定的int值的Integer实例
static Integer valudeOf(String s),返回表示String参数所指示的int值的Integer实例,如"1","2",如果是"a"会异常
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
成员方法:int intValue()以int类型返回该Integer的值
Integer in = 2;
int i = in;
基本数据类型 --> 字符串类型
1.基本数据类型的值 + "" 最简单的方法,直接加上一个空的字符串(工作中常用)
2.包装类的静态方法toString(参数),不是Object类的tostring()
Integer.toString(参数)
3.String类的静态方法valueOf(参数)
字符串类型 --> 基本数据类型
1.使用包装类的静态方法parseXXX(“字符串”);
parseInt(String s)