尽管string 类将在本书的第2部分深入地研究,但因为我们将在第1部分末尾的一些例子程序中使用字符串,因此,现在应该对它做一个简单的探索。string 类是java 类库中最常用的类,其中最明显的原因是字符串在编程语言中是很重要的部分。
有关字符串的最重要一点是,你创建的每一个字符串实际上都是string 类型的一个对象,即使是字符串常量实际上也是string 对象。system.out.println("this is a string,too");
字符串“this is a string,too ”是一个字符串常数。幸好,java 处理字符串常数和其他计算机语言处理“正常”的字符串的方法一样,因此你不必担心这个。
字符串的另一个特点是,string 类型的对象是不可改变的;一旦创建了一个字符串对象,它的内容是不能被改变的。这看起来是一个严格的限制,但实际上不是,因为这有两个原因:
?
如果你需要改变一个字符串,你可以创建一个新的字符串,其中包含修改后的字符串即可。
?
java 定义了一个和string 类同等的类叫stringbuffer ,它允许字符串改变,因此所有正常的字符串操作在java 中还是可用的(stringbuffer 在本书的第2部分描述)。
字符串可以通过多种方法构造。最容易的一种用如下的语句:
string mystring = "this is a test";
一旦你创建了一个字符串对象,你可以在任何允许字符串的地方使用它,例如下面这条语句显示mystring :
system.out.println(mystring);
java 定义了一个string 对象的运算符:“+”。它用来连接两个字符串。例如,下面这条语句:
string mystring = "i" + " like " + "java.";
的结果是mystring 包含“i like java.”下面的程序表明了前面的概念:
// demonstrating strings.
class stringdemo {
public static void main(string args[]) {
string strob1 = "first string";
string strob2 = "second string";
string strob3 = strob1 + " and " + strob2;
system.out.println(strob1);
system.out.println(strob2);
system.out.println(strob3);
}
}
该程序产生的输出如下所示:
first string
second string
first string and second string
string 类包含许多操作字符串的方法。例如下面就是其中一些。你可以用equals() 来检验两个字符串是否相等。你可以调用方法length() 来获得一个字符串的长度。你可以调用charat() 来获得一个字符串指定索引的字符。这三个方法的通用格式如下所示:
boolean equals(string object)
int length( )
char charat(int index)
下面的程序示例了这些方法:
// demonstrating some string methods.
class stringdemo2 {
public static void main(string args[]) {
string strob1 = "first string";
string strob2 = "second string";
string strob3 = strob1;
system.out.println("length of strob1: " +
strob1.length());
system.out.println("char at index 3 in strob1: " +
strob1.charat(3));
if(strob1.equals(strob2)) system.out.println("strob1 == strob2"); else system.out.println("strob1 != strob2");
if(strob1.equals(strob3)) system.out.println("strob1 == strob3"); else system.out.println("strob1 != strob3"); }}
该程序产生如下的输出:
length of strob1: 12char at index 3 in strob1: s strob1 != strob2strob1 == strob3
当然,与其他对象类型一样,strings 也可以组成数组,例如:
// demonstrate string arrays.class stringdemo3 {
闽公网安备 35060202000074号