黑马程序员___Java基础[12-正则表达式、反射]

一、正则表达式

1、什么是正则表达式

是一种字符串的约束格式, 例如在某些网站上填写邮箱的时候, 如果乱写会提示输入不合法, 这种验证就是使用正则表达式做的.

2、匹配

String.matches() 验证一个字符串是否匹配指定的正则表达式

3、分割

String.split() 用指定正则表达式能匹配的字符作为分隔符, 分割字符串 

4、替换

String.replaceAll() 把字符串中能匹配正则表达式的部分替换为另一个字符串

5、查找

Pattern.compile() 创建正则表达式对象

Pattern.matcher() 用正则表达式匹配一个字符串, 得到匹配器

Matcher.find() 查找字符串中是否包含能匹配正则表达式的部分

Matcher.group() 获取匹配的部分

二、反射

1、Class

.class文件加载到内存中就是一个Class对象

获取Class对象的方式有3种:

Class.forName("")

类名.class

对象.getClass()

2、Constructor

Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数, 就不能这样创建了

可以调用Class类的getConstructor(String.class,int.class)方法获取一个指定的构造函数

然后再调用Constructor类的newInstance("张三",20)方法创建对象

3、Field

Class.getField(String)方法可以获取类中的指定字段(可见的), 如果是私有的可以用getDeclaedField("name")方法获取

通过set(obj, "李四")方法可以设置指定对象上该字段的值, 如果是私有的需要先调用setAccessible(true)设置访问权限

用获取的指定的字段调用get(obj)可以获取指定对象中该字段的值

4、Method

Class.getMethod(String, Class...) 和 Class.getDeclaredMethod(String, Class...)方法可以获取类中的指定方法

调用invoke(Object, Object...)可以调用该方法

Class.getMethod("eat") invoke(obj) Class.getMethod("eat",int.class) invoke(obj,10)

posted on 2014-01-18 14:30  毛线球球  阅读(148)  评论(0编辑  收藏  举报

导航