服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

探索string 类

尽管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 {

扫描关注微信公众号