第8章 常用实用类
8.1 String类
在java.lang包(默认引入)中,可直接使用。
定义为final类,不能扩展String类,不可以继承,不可以有子类。
8.1.1 构造String对象
常量对象:
英文双引号括起来
String常量放入常量池(程序运行期间不允许改变)
String对象:
声明对象+创建对象
引用String常量:
把String常量的引用赋值给一个String对象
不可变对象:
对象的变量中存储的值不能再发生变化
8.1.2 String对象的并置
“+”来收尾相接
8.1.3 String类的常用方法
public int length() //获取String对象的字符序列的长度public boolean equals(String s) //比较当前String对象的字符序列是否与参数s指定的String对象的字符串序列相同public boolean startsWith(String s) //判断当前String对象的字符序列前缀是否为指定的String对象s的字符序列
public boolean endsWith(String s) //判断当前String对象的字符序列后缀是否为指定的String对象s的字符序列public int compareTo(String s) //按字典序与参数指定的String对象s的字符序列比较大小public boolean contains(String s) //判断当前String对象的字符序列是否包含参数S的字符序列public int indexOf(String s) //从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置
public int lastIndexOf(String s) //从当前String对象的字符序列的0索引位置开始检索最后一次出现str的字符序列的位置,并返回该位置public String substring(int startpoint) //获得一个新的String对象,新的String对象是复制当前String对象的字符序列中的start位置至end-1的位置上的字符所得到的字符序列public String trim() //得到一个新的String对象,这个新的String对象是当前String对象的字符序列去掉前后空格的字符序列
8.1.4 String对象与基本数据的相互转换
String对象转基本型
public static 小写开头的基本型 parse大写开头的基本型(String s) throws NumberFormatException
基本型转String对象
public static String valueOf(小写开头的基本型 n)
基本型数据的进制表示
public static String to大写开头的进制String(int或long i)
8.1.5 对象的String对象表示
创建对象的类的名字@对象的引用的字符序列串表示
8.1.6 String对象与字符数组、字节数组
8.2 正则表达式
8.2.1 正则表达式与元字符
在 Java 里,“==” 比较的是对象的引用地址,并非对象内容。
通过new创建的不同 String 对象,地址不一样。
字符串常量池机制下,相同内容的字符串常量(如 "abc" == "abc" )比较引用地址是相等的
可以使用方括号括起来若干个字符表示一个元字符。
例如
[abc]:代表abc中的任何一个
[^abc]:代表除了abc以外的任何字符
[a-zA-Z]:代表英文字母中的任意一个
[a-d]:代表a到d中任何一个
[0-9.]+”表示由数字和小数点组成的字符串
方括号内允许嵌套方括号,可以进行并、交、差运算
例如
[a-d[m-p]]:代表a到d或m到p中任何字符(并)
[a-z&&[def]]代表d、e或f中的任何一个(交)
[a-f&&[^bc]]:代表a、d、e、f(差)
“.”代表任何一个字符,故如果想使用普通意义的电字符,必须用[.]或\\.表示
限定修饰符
X?代表X出现0次或1次
X*代表X出现0次或多次
X+代表X出现1次或多次
X{n}代表X出现n次
X{n.}代表X至少出现n次
X{n,m}代表X出现n次至m次
XY代表X的后缀是Y
X|Y代表X或Y
匹配:
"字符串".matches(条件)
区分:
equals
比较字符串内容,区分大小写
索引:
"字符串".indexOf("查找字符")
在 Java 中,字符串的索引是从 0 开始计数的 。也就是说,字符串的第一个字符索引为 0,第二个字符索引为 1,以此类推。
长度:
"字符串".length()
8.2.3 字符序列的替换
replaceAll()
8.2.4 字符序列的分解
split()
8.3 StringTokenizer类型
8.4 Scanner类
8.5 Pattern类和Matcher类
8.6 StringBuffer类
8.7 日期与时间
LocalDate(年、月、日、星期等)
LoacalDateTime(年、月、日、星期、时、分、秒、纳秒等)
LocalTime(时、分、秒、纳秒等)
8.8 Math类、BigInteger类和Random类
Random 类的 nextInt (int n) 方法会返回一个大于等于 0 且小于 n 的随机整数