感悟
本章学习字符串,字符串单独拉出来做一章,可见String的重要性。重点要理解字符串的基础知识和正则表达式。
笔记
- 13.1 不可变String
理解每次修改String都是创建一个全新的String对象
- 13.2 重载 “+” 与StringBuilder
1、String拼接“+“”底层是用StringBuilder,明确使用StringBuilder可以提高效率
2、StringBuilder是StringBuffer的线程安全版,Java SE5引入
- 13.3 无意识的递归
了解就好:容器类的toString中,避免使用this无意识调用递归
- 13.4 String上的操作
介绍了String基本方法
- 13.5 格式化输出
1)printf()
2)System.out.format()
3)Formatter类
4)格式化说明符
5)Formatter转换
6)String.format()
1、System.out.format()与C语言的printf()中的 %d、%f一样
2、Formatter类,构造时需要制定输出流,调用Formatter.format()
3、String.format()是静态方法,且与Formatter.format()参数一样,用于一次格式化很方便
- 13.6 正则表达式
1)基础
2)创建正则表达式
3)量词
4)Pattern和Matcher
5)split()
6)替换操作
7)reset()
1、理解Java正则表达式\\表示正则开始
2、String.split() 支持传入正则表达式,重载版本有次数,String中还有replaceFirst,replaceAll
3、Pattern p = Pattern.compile("\\d"); Matcher m = p.matcher("String");
其中Matcher有 matches、lookingAt、find、group、start、end方法
4、其他具体用法用到时候再查阅资料
- 13.7 扫描输入
1)Scanner定界符
2)用正则表达式扫描
1、Scanner接受一个inputstream、字符串、或者File,自己则有相应的nextLine、nextInt、nextDouble方法
2、Scanner可结合正则表达式,scanner.next(pattern),scanner.match()
- 13.8 StringTokenizer
已废弃分隔字符方法,已被正则和Scanner替代
- 13.9 总结
处理字符串是Java程序中必不可少的步骤,配合正则表达式使得字符串处理更加灵活。