欢迎来到天天文库
浏览记录
ID:53000829
大小:351.74 KB
页数:30页
时间:2020-04-10
《java经典编程事例.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、经典编程小事例反射与正则1.给一个ArrayList集合中添加一个字符串数据,并显示*思路:1,获取这个集合的字节码对象然后通过Class对象获取该集合对象.*2.再用Class对象获取集合的add方法对象Method*3.再把class对象与添加的字符串当参数传给Method的方法invoke.importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.List;publicclassTest{pu
2、blicstaticvoidmain(String[]args)throwsException{Listlist=newArrayList();Class>cls=list.getClass();ArrayListobj=(ArrayList)cls.newInstance();Methodmt=cls.getMethod("add",Object.class);mt.invoke(obj,"String");//obj.add("String"
3、);这样则无法编译通过System.out.println(obj);}}2.通过配置文件运行类中的方法importjava.io.FileInputStream;importjava.lang.reflect.Method;importjava.util.Properties;/**思路:*1,先将文件写入字节流,然后将字节流写入Properties集合中*2,通过getProperties方法获取方法名和类名*3,再通过类名获取其class对象*4.通过对象和方法名获取其方法*/publicclas
4、sTest{publicstaticvoidmain(String[]args)throwsException{FileInputStreamfile=newFileInputStream("Show.txt");Propertiespro=newProperties();pro.load(file);file.close();//通过键值对获取对应的类名和方法名StringclassName=pro.getProperty("className");StringmethodName=pro.getPr
5、operty("methodName");//通过反射获得字节码对象和方法对象Class>cls=Class.forName(className);Objectobj=cls.newInstance();Methodmt=cls.getMethod(methodName,null);//方法一定要公用public//如果是getDeclaredMethod,则也可以获取非公有方法//如果方法私用,那么要先暴力破解:mt.setAccessible(true);mt.invoke(obj,null);
6、}}3.随即输入QQ号:校验QQ号码:不能以0开头是5-15位的数字importjava.util.Scanner;**思路:用正则定义规范,再用String类的匹配方法match方法判断时否正确publicclassTest{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringqq=sc.nextLine();Stringsegex="[^0][0-9]{4,14}";booleanflag=qq.match
7、es(segex);if(flag){System.out.println(qq);}else{System.out.println("输入格式错误");}4.邮件校验//Stringregex="[a-zA-Z_0-9]+@[a-zA-Z_0-9]+(\.[a-zA-Z_0-9]+)+";//用w改写规则w表示:单词字符:[a-zA-Z_0-9]//反斜杠\的用法:当在字符串中,表示转义,所以要表示明确意思要用两个反斜杠Stringregex="\w+@\w+(\.\w+)+";bo
8、oleanflag=eamil.matches(regex);System.out.println(flag);5.将字符串还原成:“我要学编程”。如:我...我.要....Strings="我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";Stringregex="\.+";//先把点去掉s=s.replaceAll(regex,"");System.out.println(s);s=
此文档下载收益归作者所有