1.包装类
每一个八大基本类型都有与之对于的包装类型(资源有限时,尽量少用,效率相比慢)
int a = 1;
//自动封箱,消耗效率
Integer b = a;
//Integer c = new Integer(a);//JDK1.4
2.Exception异常
1)非运行时异常(检查性异常):Exception
必须要进行处理
2)运行是异常(未检查性异常):RuntimeException
NullPointerException
ClassCastException
3)异常处理
a.try...catch(finally{}始终会运行)
b.throws:异常抛给虚拟机处理,终止整个程序
3.反射机制
可以通过对象,来获得对应的类的信息
**java.lang.reflect.Field
**java.lang.reflect.Method
//获取声明的成员变量
Field filed = Class.forName("").getDeclaredFields();
//获取声明的方法
Method method = Class.forName("").getDeclaredMethods();
4.正则表达式
正义: 反义:
. 匹配除换行符意外的任意字符
\w 匹配字母或数字或下划线或汉字 \W
\s 匹配任意的空白符 \s
\d 匹配数字 \D
\b 匹配单词的开始或结束 \B
^ 匹配字符的开始 [^x] 匹配除了X意外的任意字符
$ 匹配字符的结束
例如:
[0-9a-zA-Z]
1371013232\d--1371013232(0~9)
[.?!] 匹配中括号里的任意字符(或)
\d{2} 2位的数字
\(?o\d{2}[)-]?\d{8}
量次:
? 出现0或1次
+ 出现1到n次
* 出现0或n次
X{n} X出现N次
X{n,} X至少重复出现N次
X{n,m} X重复n到m次
例子:
^\d{5,12}$:5到12位数字
0\d{2}-\d{8}
分枝:|
例子:\d{5}-\d{4}|\d{5}和\d{5}|\d{5}-\d{4}不一样;
匹配顺序不一致
分组:
例子:(\d{1,3}\.){3}\d{1,3}:简单的IP地址
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
Pattern p = Pattern.compile("模式字符串--正则表达式");
Matcher m = p.matcher("要进行匹配的字符串");
m.found();//返回Boolean值