一、String类
1、创建字符串
public class ss {
public static void main(String[] args) {
String str1 = "xie";//直接创建
String str2 = str1;//相同引用
String str3 = new String("xie");//使用构造函数创建String对象
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
}
2、特点
(1) String 直接创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上。
(2) 一旦创建String对象,它的值就无法修改。
3、String 方法
二、StringBuffer 和 StringBuilder 类
1、创建StringBuilder
public class ss {
public static void main(String[] args) {
StringBuilder s = new StringBuilder(10);
s.append("xie");
System.out.println(s); //xie
s.append("!");
System.out.println(s); //xie!
s.insert(2,"java");
System.out.println(s); //xijavae!
s.delete(2,5);
System.out.println(s); //xiae!
}
}
2、创建StringBuffer
public class ss {
public static void main(String[] args) {
StringBuffer s = new StringBuffer("XIE");
System.out.println(s); //XIE
s.append("xxx");
System.out.println(s); //XIExxx
}
}
3、特点
(1)和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
(2)StringBuilder 相较于 StringBuffer 有速度优势。
(3)StringBuilder 的方法不是线程安全的,StringBuffer的方法是线程安全的。
4、方法
StringBuffer 类支持的主要方法(StringBuilder类支持的方法与StringBuffer类支持的方法相同):
下面的列表里的方法和 String 类的方法类似:
三、将StringBuffer(或StringBuilder)转换成String
1、通过toString()方法
StringBuffer buffer = new StringBuffer("XIE");
String str = buffer.toString();
2、通过构造函数
StringBuffer buffer = new StringBuffer("XIE");
String str = new String(buffer);
3、通过截取返回一个新的String
StringBuffer buffer = new StringBuffer("XIE");
String str = buffer.substring(0;buffer.length());
四、将String转换成StringBuffer(或StringBuilder)
1、通过append()方法
String str = "xie";
StringBuffer buffer = new StringBuffer();
buffer.append(str);
2、通过构造函数
String str = "xie";
StringBuffer buffer = new StringBuffer(str);
五、String与字符数组的相互转换
1、将String转换为字符数组
String str = "xie";
char[] ch = str.toCharArray();
2、将字符数组转换为String
//1.用构造函数
char[] data = {'a','b','c'};
String str1 = new String(data);
//2.调用valueOf函数
char[] data = {'a','b','c'};
String str = String.valueOf(data);