前言
所谓的字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号之内,例如“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; }
到此这篇关于java关于字符串的常用API的文章就介绍到这了,更多相关java字符串API内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!