JAVASE--正则表达式、反射技术

一、正则表达式

正则表达式是专门作用于字符串的一个正确的规则的表达式,其出现是为了简化对字符串相关操作的代码书写,都是由一些符号组成的表达式。

JAVASE--正则表达式、反射技术_第1张图片

正则表达式对字符串的常见功能操作:1.匹配:使用String类中的matches方法,结果是boolean;2. 切割:使用String类中的split方法,结果String[];3. 替换:使用String类中的replaceAll(regex ,string),结果是一个新的字符串;4.获取:其他三个功能内部最终使用的都是Pattern正则表达式对象,现在需要其他功能时,字符串String类中没有对应的方法,只能找Pattern对象。

Pattern对象的使用的原理: 1.将正则表达式字符串编译成正则对象pattern;2.通过pattern对象获取Matcher对象(匹配器对象);3.通过匹配器对象对字符串进行规则的匹配,结果都在匹配器中;4.通过匹配器对象的功能获取结果。

获取的范例代码:

Pattern p = Pattern.compile("a*b");

Matcher m = p.matcher("aaaaab");

boolean b = m.matches();

Matcher:匹配方法三个:matches();lookingAt: find();通过find找到匹配规则的字符串后,可以通过start() end()获取子串对应的索引,也可以通过group()直接获取子串。

 二、 反射技术

应用程序可以通过读取配置文件的方式来创建类对象,这样动态地获取指定的类以及动态地调用类中的内容,这样就能提高程序的扩展性。

通过给定类名来获取对应的字节码文件对象,并使用newInstance()来创建该类的实例,即Class.forName(String className).newInstance() 返回一个Object对象,如果返回结果对象确定则进行向下转型来确定结果类型。

通过给定类名获取对应的字节码文件对象后,使用getConstructor(Class... parameterTypes)来获取指定的构造器,通过构造器对象来初始化给类对象。

通过给定类名获取对应的字节码文件对象后,使用getField()来获取公共的字段,或者使用getDeclaredField()获取已声明的字段,私有字段的赋值需要先使用Field.setAccessible(true)来取消权限检查,字段的赋值使用Field.set(Objectobj, Object value);

通过给定类名获取对应的字节码文件对象后,使用getMethod(String name, Class... parameterTypes)来获取类的方法,使用返回方法对象的invoke(Object obj, Object... args)来使用类方法。

你可能感兴趣的:(JavaSE)