String类的初始化
在操作String类之前,首先需要对String类进行初始化。在Java中,可以通过以下两种方式对String类进行初始化,具体如下:
1.使用字符串常量直接初始化一个String对象,其语法格式如下:
String 变量名= 字符串;
在初始化字符串对象时,既可以将字符串对象的初始化值设为空,也可以初始化为一个具体的字符串,其示例如下:
String str1 = null; // 初始化为空
String str2 = ""; // 初始化为空字符串
String str3 = "abc"; // 初始化为abc,其中abc为字符串常量
2.使用String的构造方法初始化字符串对象,其语法格式如下:
String 变量名 = new String(字符串);
在上述语法中,字符串同样可以为空或是一个具体的字符串。当为具体字符串时,会使用String类的不同参数类型的构造方法来初始化字符串对象。
String类中包含多个构造方法,常用的构造方法如表1所示。
表1 String类的常用构造方法
方法声明 | 功能描述 |
---|---|
String() | 创建一个内容为空的字符串 |
String(String value) | 根据指定的字符串内容创建对象 |
String(char[] value) | 根据指定的字符数组创建对象 |
表1中,列出了String类的三种构造方法,通过调用不同参数的构造方法便可完成String类的初始化。接下来通过一个案例来学习String类是如何通过构造方法来初始化字符串对象的,如文件1所示。
文件1 Example01.java
1 public class Example01 {
2 public static void main(String[] args) {
3 // 创建一个空的字符串
4 String str1 = new String();
5 // 创建一个内容为abc的字符串
6 String str2 = new String("abc");
7 // 创建一个内容为字符数组的字符串
8 char[] charArray = new char[] { 'A', 'B', 'C' };
9 String str3 = new String(charArray);
10 // 输出结果
11 System.out.println("a" + str1 + "b");
12 System.out.println(str2);
13 System.out.println(str3);
14 }
15 }
运行结果如图1所示。
图1 运行结果
文件1中,分别使用表1中的3个构造方法创建了字符串对象。其中第4行代码使用无参构造方法创建的是一个空字符串,所以第一个输出语句中的str1为空(””),当使用连字符(+)连接a和b后,输出的结果为ab。第6行代码使用参数类型为String的构造方法创建了一个内容为abc的字符串,第8~9行代码使用参数类型为字符数组的构造方法创建了一个内容为字符数组的字符串。从图1可以看出,它们最后的输出结果就是存储在字符串对象中的内容。
小提示:
连接字符串可以通过运算符“+”来实现,例如上面案例代码("a" + str1 + "b")中的“+”的作用就是将两个字符串合并到一起并生成新的字符串。在Java中,如果“+”的两边操作数有一个为String类型,那么“+”就表示字符串连接运算符。