字符串类

102 阅读4分钟

「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

String类

String类在java.lang包中,使用该类时不需要import语句

String类是最终类,不允许其它类继承并重写它的方法

String类的对象一旦创建,只允许访问,不允许更改

String 类的构造方法

String(String original)

• String s=new String("hello");

• String s1=new String(s);

String(char[ ] value)

• char a[ ]={'t', 'o', 'y'};

• String s=new String(a);

String(char[ ] value,int offset,int count) • 利用字符数组value的一部分构造字符串对象,

从offset开始共计count个字符 • char[ ] a={'a', 'b', 'c', 'd', 'e'};

• String s=new String(a,2,3);

字符串常量

用一对英文双引号包括的字符序列,称为字符串常量 字符串常量是对象,可以把它的引用赋值给String类的变量

• String s = "Welcome!";

String类的常用方法

(1)public int length()
返回当前字符串的长度

(2)public boolean equals(String s)
比较两个字符串的内容是否完全相同

(3)public boolean contains(String s)
比较当前字符串是否包含字符串s

(4)public int compareTo(String s) 将当前字符串按字典序与字符串s比较大小,如果当前字符串与s相同,返回0;如果当前字符串大于s,返回正值;否则返回负值

(5)public String concat(String s) 与字符串连接符"+"是等价的

(6)public String substring(int start, int end) 得到当前字符串的子串,这个子串从当前字符串的start开始,截取到end(不包括end)之间的字符序列

(7)public int indexOf(String s) 从当前字符串的头开始检索字符串s,并返回首次出现s的位置,如果没有检索到s,则返回-1

(8)public String[ ] split(String regex) 以regex为分隔符把当前字符串分割成若干个子字符串,以字符串数组的形式返回

(9)public char[ ] toCharArray() 将当前字符串中的所有字符按顺序存放在一个字符数组中

(10)public char charAt(int n) 返回当前字符串中位置n上的字符

StringBuffer类

String类的对象一旦创建,就不能改变Java提供了一个能改变字符串状态的StringBuffer类

StringBuffer类的很多访问性的方法与String类是相同的

StringBuffer类有一些String类没有的方法,主要用来改变StringBuffer类对象的内容

StringBuffer类的构造方法

StringBuffer() 创建的StringBuffer对象的初始容量可以容纳16个字符,实体的容量可以根据情况自动增加

StringBuffer(int size) 创建的StringBuffer对象的初始容量可以容纳size个字符,实体的容量可以根据情况自动增加

StringBuffer(String s) 创建的StringBuffer对象的初始容量为字符串s 的长度+16个字符,实体的容量可以根据情况 自动增加

StringBuffer类的常用方法

(1)public void setCharAt(int index,char ch) 将当前字符串中位置index上的字符替换为字符ch

(2)public StringBuffer insert(int offset, String str) 把字符串str插入到当前字符串的位置offset处

(3)public StringBuffer delete(int start, int end) 将当前字符串中位置start至end-1之间的字符删除

(4)public StringBuffer reverse() 将当前字符串中的字符倒序存放

(5)public StringBuffer replace(int start, int end, String str) 将当前字符串中位置start至end-1之间的字符替换为str指定的字符串

(6)public StringBuffer append(String s) 将字符串s追加到StringBuffer对象中

StringTokenizer类 构造方法 StringTokenizer(String s) 为字符串s构造一个分析器,使用默认的分隔标记,即空格符(若干个空格被看成一个空格)、换行符、回车符、Tab符等

StringTokenizer(String s,String delim) 为字符串s构造一个分析器,参数delim中的字符的任意排列组合都是分隔标记

•StringTokenizer对象称为字符串分析器

• nextToken()方法可以逐个获取字符串分析器中的语言符号(单词)

• 每获取到一个语言符号,字符串分析器中负责计数的变量的值就自动减一,计数变量的初始值等于字符串中的单词数目(调用countTokens()方法可以得到单词数目)

• 只要计数变量的值大于0,hasMoreTokens()方法返回 true,否则返回false