Java - 反射机制 - 正则表达式
来源:互联网 发布:相片动画制作软件 编辑:程序博客网 时间:2024/04/29 21:07
反射机制:在程序运行状态下,动态获取信息,动态调用对象的功能。是对类的解剖
Class<T>类:对字节码文件(类)的描述。封装了类的所有信息。
public class ClassDemo {/* * 用反射机制模拟电脑运行 * 1.定义一个接口 * 3.使用接口 * 4.读取配置文件,实例化接口子类。 <pre name="code" class="html"> * 2....实现接口....*/public static void main(String[] args) throws IOException, Exception {Computer c = new Computer();// 读取配置文件Properties pro = new Properties();FileReader fr = new FileReader("usb.properties");pro.load(fr);// 根据读取到的类名,实例化接口子类。for (int i = 0; i < pro.size(); i++) {// 获取类名String usbName = pro.getProperty("usb" + (i + 1));// 获取该类名所对应的字节码文件Class clazz = Class.forName(usbName);// 创建该类的一个实例,泛型不指定Object,强转。InterfaceUsb usb = (InterfaceUsb) clazz.newInstance();c.useUsb(usb);}}}
/* * 定义一个Usb接口。 */public interface InterfaceUsb {public void open();public void close();}
/* * 使用usb接口 */public class Computer {Computer() {System.out.println("运行电脑");}// 使用Usbpublic void useUsb(InterfaceUsb usb) {if (usb != null) {usb.open();usb.close();}}}
/* * 实现usb接口 */public class Mouse implements InterfaceUsb {public void open() {System.out.println("插入鼠标");}public void close() {System.out.println("拔出鼠标");}}
正则表达式(regex):用于操作字符串数据。匹配、替换、获取、查找、、、
Pattern类:正则表达式的编译表示形式。指定为字符串的正则表达式必须首先被编译为此类的实例。
--模式--将一个字符串转换成一个正则表达式--
Matcher类:匹配器、、根据 Pattern 执行匹配操作的引擎。
--描述正则表达式如何操作字符串数据。
、、正则表达式小案例、、、、
import java.util.TreeSet;public class RegexTest {public static void main(String[] args) {// 1.治疗口吃。将"我我..我我...来来..来...了.了了..了.了..了"转成"我来了"String str1 = "我我..我我...来来..来...了.了了..了.了..了";str1 = changeString(str1);System.out.println(str1);// 我来了// 2.对ip地址排序"127.0.0.1 189.3.5.4 8.8.8.8 255.36.21.8"String ip_str = "127.0.0.1 189.3.5.4 8.8.8.8 255.36.21.8";sortIp(ip_str);/**************** * 8.8.8.8 * 127.0.0.1 * 189.3.5.4 * 255.36.21.8 * ****************/// 3.校验邮箱String email = "123asd@q.q.com";boolean b = checkEmail(email);System.out.println(b);/* * 4.网页爬虫 * 使用URL统一资源定位符的 openStream()读取URL引用的资源 * 正则获取... * 创建一个Pattern... * 获取Matcher...和要匹配的数据关联 * 保存匹配的数据 */}private static boolean checkEmail(String email) {return email.matches("[\\w]+@[\\w]+(\\.[\\w]+)+");}private static void sortIp(String ip_str) {// 先补0ip_str = ip_str.replaceAll("(\\d+)", "00$1");// 保留后三位ip_str = ip_str.replaceAll("0*(\\d{3})", "$1");// 再切割String[] ips = ip_str.split(" +");// 排序想到 TreeSet 集合TreeSet<String> ts = new TreeSet<String>();for (String ip : ips) {ts.add(ip);}for (String ip : ts) {ip = ip.replaceAll("0*(\\d+)", "$1");System.out.println(ip);}}/* * 治疗口吃 */private static String changeString(String str1) {// 删除..即替换成空str1 = str1.replaceAll("\\.+", "");// 删除重复,即将多个相同字替换成一个str1 = str1.replaceAll("(.)\\1*", "$1");return str1;}}
0 0
- Java - 反射机制 - 正则表达式
- java反射,正则表达式
- java自学之路-----反射机制 正则表达式
- 黑马程序员--Java基础--正则表达式、反射机制
- java学习笔记6.04正则表达式和反射机制
- java基础——XML、正则表达式、反射机制
- Java基础——反射机制、正则表达式
- 正则表达式,Java反射相关
- Java基础正则表达式、反射
- 黑马程序员——学习日记19 java反射机制、正则表达式
- JAVA基础--db22_java反射机制&正则
- 黑马程序员-----JAVA 反射、正则表达式
- 黑马程序员--java--反射和正则表达式
- java基础10:正则表达式与反射
- Java基础之反射,正则表达式
- java基础11:正则表达式与反射
- 正则表达式和反射
- 反射和正则表达式
- 浅谈过载保护
- 黑马程序员————七千月薪面试题学习笔记
- 杭电acm1093A+B for Input-Output Practice (V)
- 创建和使用自签名证书
- oracle 论坛网址
- Java - 反射机制 - 正则表达式
- js如何实现网页自动跳转
- Cheap SSL Certificates
- poj 1637 判断混合图是否存在欧拉回路
- 判断字符串是中文或者英文
- mysql中DATE_FORMAT()和str_to_date()简介
- 杭电acm1094A+B for Input-Output Practice (VI)
- 承诺,项目管理中的大杀器
- solr DESUtil