Java中使用String类和StringBuilder类来封装字符串。String类给出了不变字符串的操作,StringBuilder类用于可变字符串处理。
一、字符串的声明与创建
1、声明字符串的格式如下:
String str;
2、创建字符串的方法如下:
(1)使用字符串构造方法(4种)
public String(); //创建一个空的字符串
public String(String s); //用已有字符串创建新的String
public String(StringBuffer buf); //用StringBuffer对象的内容初始化新的String
public String(char[] values); //用已有字符数组初始化新的String
其中,使用最多的是第二种,用另一个字符串为参数创建一个新的字符串对象:
String s = new String("Hello World");
字符数组如果要转换成字符串可以使用第四种方法:
Char[] array = {'h','e','l','l','o'};
String s = new String(array);
(2)使用赋值语句
String s = "hello";
二、从内存角度看通过String定义常量和变量的区别
(1)情况一:
String str1 = "abc";
String str2 = new String("abc");
第一行定义的是一个常量,第二行通过new关键字定义了一个变量。第一行是在常量池(而不是堆空间)种开辟了一块空间,在其中存放了字符串abc,并通过str1对象指向这个常量对象。而第二行是通过new关键字在堆空间中开辟了一块内存,里面存放字符串abc,并把内存的地址(也就是引用)赋予str2变量。