Java数据类型教程 - Java字符串类型
零个或多个字符的序列称为字符串。
在Java程序中,字符串由java.lang.String类的对象表示。
String类是不可变的。 String对象的内容在创建后无法修改。
String类有两个伴随类,java.lang.StringBuilder和java.lang.StringBuffer。伴随类是可变的。如果我们要修改字符串的内容,我们应该使用它们。
字符串字面量
字符串字面值由用双引号括起来的零个或多个字符序列组成。所有字符串文字都是String类的对象。
下面列出了字符串字面量的示例
"" // An Empty string "Hello" // A string literal consisting of 5 characters "Just a string literal"
我们可以将两个多个字符串文字加到一个字符串文字。
"Hello" + "Hi"
字符串文字不能分成两行。
"He llo" // A compiler error
要断开两行中的“Hello",请使用字符串连接运算符(+)中断它。
"He" + "llo"
或者
"He" + "llo"
在字符串文字中转义序列字符
我们可以使用所有转义序列字符形成一个字符串文字。
要在字符串文字中包括换行符和回车字符。使用\ n和\ r,如下所示:
"\n" // A string literal with a line feed "\r" // A string literal with a carriage return
Unicode转义字符串字面量
字符也可以表示为\ uxxxx形式的Unicode转义,其中x是十六进制数字(0-9或A-F)。
在字符串文字中,字符“A”(第一个大写英文字母)也可以写为“\ u0041”,例如,Apple和\ u0041pple在Java中被视为相同。
Java数据类型教程 - Java字符串创建/长度
创建字符串对象
String类包含许多可用于创建String对象的构造函数。
默认构造函数创建一个以空字符串作为其内容的String对象。
例如,以下语句创建一个空的String对象,并将其引用分配给emptyStr变量:
String emptyStr = new String();
String类包含一个构造函数,它接受另一个String对象作为参数。
String str1 = new String(); String str2 = new String(str1); // Passing a String as an argument
现在str1代表与str2相同的字符序列。在这一点上,str1和str2都代表一个空字符串。我们也可以传递一个字符串字面量到这个构造函数。
String str3 = new String(""); String str4 = new String("Have fun!");
在执行这两个语句之后,str3将引用一个String对象,它有一个空字符串作为其内容,而str4将引用一个String对象,它有“Have fun!作为其内容。
字符串的长度
String类包含一个length()方法,该方法返回String对象中的字符数。
方法length()的返回类型是int。空字符串的长度为零。
public class Main { public static void main(String[] args) { String str1 = new String(); String str2 = new String("Hello"); // Get the length of str1 and str2 int len1 = str1.length(); int len2 = str2.length(); // Display the length of str1 and str2 System.out.println("Length of \"" + str1 + "\" = " + len1); System.out.println("Length of \"" + str2 + "\" = " + len2); } }
上面的代码生成以下结果。