第8章 常用实用类
8.1 String类
String类:涉及处理和字符序列有关的算法。
程序可以直接使用String类,但是用户不能扩展String类,即String类不可以有子类。
8.1.1 构造String对象
①String常量也是对象,使用双引号括起来的字符序列。
②String对象:可以使用String类声明对象并创建对象,也可以用一个已创建的String对象创建另一个String对象。
③String类还有两个较常用的构造方法:
a.String(char a[])用一个字符数组a创建一个String对象;
b.String(char a[],int starIndex , int count)提取字符数组a中的一部分字符创建一个String对象,参数starIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数。
④可以把String常量的引用赋值给一个String对象。
8.1.2 字符串的并置
String对象可以用“+”进行并置运算,即首尾相接得到一个新的String对象。
8.1.3 String类的常用方法
public int length()
public boolean equals(String s)
public boolean startsWith(String s)、public Boolean endsWith(String s)
8.1.4 字符串与基本数据类型的相互转化
8.1.5 对象的字符串表示
一个对象调用toString()方法返回的String对象的字符序列的一般形式为:
创建对象的类的名字@对象的引用的字符串表示
8.1.6 字符串与字符数组、字节数组
①将String对象的字符序列存放到数组中的方法:public void getChar(int start,int end,char c[],int offset)。
②String类的构造方法String(byte[])用指定的字节数组构造一个String对象。
③使用一个String对象password的字符序列作为密码对另一个String对象sourceString的字符序列进行加密。
8.1.7 正则表达式及字符串的替代与分解
①正则表达式
正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式中的元字符。
在正则表达式中可以用方括号括起若干个字符来表示一个元字符,该元字符代表方括号中的任何一个字符。
在正则表达式中可以使用限定修饰符。
②字符串的替换
String对象调用public String replaceAll(String regex, String replacement)方法返回一个新的String对象,这个新的String对象的字符序列是把当前String对象的字符序列中所有和参数regex匹配的子字符序列,用参数replacement的字符序列替换后得到字符序列。
③字符序列的分解
String类提供了一个实用的方法public String[] split(String regex),String对象调用该方法时,使用参数指定的正则表达式regex作为分隔标记分解出当前String对象的字符序列中的单词,并将分解出的单词存放在String数组中。
8.2 StringTokenizer类
StringTokenizer(String s):为String对象s构造一个分析器。使用默认的分隔标记,即空格符、换行符、回车符、Tab符、进纸符做分隔标记。
StringTokenizer(String s,String delim):为String对象s构造一个分析器。参数delim的字符序列中的字符的任意排列被作为分隔标记。
8.3 Scanner类
(1)Scanner对象:可以解析字符序列中的单词,也可以调用方法将正则表达式作为分隔标记,即让Scanner对象在解析操作时,把与正则表达式匹配的字符序列作为分隔标记。如果不指定分隔标记,那么Scanner对象默认地用空白字符(空格、制表符、回行符)作为分隔标记来解析String对象的字符列中的单词。
(2)StringTokenizer和Scanner的区别:
[同] :都可以用来分解字符序列中的单词。
[异] :StringTokenizer对象能较快速度获得单词,实体占用较多的内存;
Scanner对象较慢速度获得单词,实体占用较少的内存。
8.4 StringBuffer类
StringBuffer类有三个构造方法:
StringBuffer();
StringBuffer(int size);
StringBuffer(String s)。
8.5 Date类与Calendar类
(1)Date类:使用无参数构造方法;使用带参数的构造方法。
(2)Calendar类。
8.6 日期的格式化
8.6.1 format方法
(1)format方法:format(格式化模式,日期列表);
(2)格式化模式:一个用双引号括起的字符序列,该字符序列中的字符由实践格式符和普通字符所构成;
(3)format方法中的“日期列表”可以使用逗号分隔的Calendar对象或Date对象。要保证format方法“格式化模式”中的格式符的个数与“日期列表”中列出的日期个数相同。format方法默认按从左到右的顺序使用“格式化模式”中的格式符来格式“日期列表”中对应的日期,而“格式化莫斯”中的普通字符保留原样。