> 文章列表 > [java/初学者]java常用API(2)——字符串

[java/初学者]java常用API(2)——字符串

[java/初学者]java常用API(2)——字符串

 前言

       所谓的字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号之内,例如“Dufeng”。

       而与字符串相关的类都放在java.lang包中,故也不需要“导包”。

      其主要分为两大类:

①:String类——创建后不能再修改和变动的字符串常量。

②:StringBuffer类——创建后可以再修改和变动的字符串变量

(此外还有用于分割字符串的StringTokenizer类在本节当中也会提到)

      虽然StringBuffter类也用来代表字符串,但其在实际处理过程中,不会产生新的对象 ,所以在内存的使用量上是比String类更有优势的。

       StringBuffer类的作用更偏向于对字符串进行插入、追加和删除等。

        二者的属于不同的类型,所以不能直接进行强制类型转换。



  一、String类

String是字符串常量。主要用于处理那些内容不会改变的字符串,String对象在进行字符串处理时,会产生新的对象而不是改变原有的值。且String对象可以通过操作符"+"进行连接。

在操作String类之前,我们需用用以下两种方式对其进行初始化

①:使用字符串常量直接初始化String对象

String str="Hello Dufeng";

②:使用String的构造方法初始化String对象

String str = new String("Hello Dufeng");

String类的构造方法如下所示:

二、StringBuffter类

由于字符串是常量,因此一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。为了便于对字符串进行修改,在JDK中提供了一个StringBuffer类(也称字符串缓冲区)。

StringBuffter对象在每次修改时都会改变自身,其内容和长度都是可以改变的,这是与String对象最大的区别,而它的初始化也与后者不同,Java为其提供了特殊的语法,通常使用构造方法初始化。

三、StringTokenizer类

在一些算法题中,我们时常需要将字符串按字符输出或者输出字符串中的字符个数。

这时我们就可以使用StringTokenizer类了,利用分隔符进行操作,

java中默认的分隔符是空格制表符(\\t)、换行符(\\n)、回车符(\\r)。

其有三种构造方法:

 下面是一个案例,计算字符串中的单词个数。 

关键的在于单词之间的分隔符,每当有分隔符出现,就代表有一个新的单词,故可以利用StringTokenizer对象分析字符串,并利用分隔符对其进行分割。

    public static void main(String[] args) {String str="Hello,World!";System.out.println("单词的个数为:"+Count(str));}static int Count(String str){StringTokenizer tk= new StringTokenizer(str,",!");int n=0;while(tk.hasMoreTokens()){tk.nextToken();n++;}return  n;}

柜子的知识