1、String类
String是一个final类,代表不可变的字符序列。
方式二:使用new
在内存中创建了两个对象,一个是在堆空间new的,另一个是char【】对应的常量池中的数据。
3、字符串拼接
结论:
基本数据类型、包装类 ->字符串
调用String类的public String valueOf(int n)可将int型转换为字符串
注意:Byte、Short、Long、Float、Double用法类似。
字符串 -> 字符数组
public char[] toCharArray():将字符串中的全部字符存放在一个字符数组 中的方法。
字符数组 -> 字符串
String 类的构造器:String(char[]) 和 String(char[],int offset,int length) 分别用字符数组中的全部字符和部分字符创建字符串对象。
字符串 -> 字节数组
public byte[] getBytes() :使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
字节数组 -> 字节串
String(byte[]):通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
注意:字节就是纯数了.编码与解码的字符集需要一致。
5、StringBuffer
三个类底层都是使用char【】存储。
可变的字符序列,作为参数传递时,方法内部可以改变值。是线程安全的。
StringBuffer类不同于String,其对象必须使用构造器生成(使用new)。有三个构造器:
6、StringBuilder
可变的字符序列,作为参数传递时,方法内部可以改变值。是线程不安全的。
方法和stringbuffer类似。
三者效率:StringBuilder>StringBuffer>String