Pattern类和Matcher类。java.util.regex
作用:正则匹配
使用方法:
1:获取Pattern对象, Patterm pattern = Pattern.compile(“匹配模式”);
eg:String regex = “good”;
Pattern pattern = Pattern.compile(regex);
2:获取Matcher对象 ,Matcher matcher = pattern.matcher(input);
eg:Matcher matcher = pattern.matcher("i a good boy");
这个时候可以利用Marcher对象进行操作;
Matcher的方法:
find():在input(i a good boy)寻找第一个与regex(good)匹配的子序列,成功返回true,失败返回false,如果再次调用find()函数,则从上一次匹配成功 的位置开始寻找下一个子序列,返回true时可以使用start()方法返回匹配子序列的起始位置,end()方法返回匹配子序列的结束位置;
eg:matcher.find() //3;matcher.end();//7
matchers():返回true false 判断input 是否和rregex完全匹配;
find(int index):同find() 从index下标位置开始寻找匹配子序列;
replaceFirst(string str):用str代替匹配到的第一个子序列,返回一个string 原来的input不变;
replaceAll(string str): 用str 代替全部匹配到的子序列,返回一个String 原来的input不变;
Console类
方法:Console.readPassword(); 在控制台读取密码,此时的控制台不能显示明文没密码,隐藏;返回一个char[] 数组
Class类:
用于反射,动态生成对象
动态生成对象:
1:获取Class对象 ;Class.forName(String className);注意className需要包括包名,返回一个Class 对象;‘
eg:Class c = Class(myClassName);
2:创建实例
eg:Object myclass = c.newInstance();
String类:
创建对象方法:
1:常量对象:String str = “”;这样创建的对象存放在常量池里面,每次赋值都需要创建新的常量,常量池里面的值在运行时不允许改变;
el:String a = “a”; //首先查看常量池里面是否有“a” ,没有添加到常量池,有就直接指向它;
String b=“a”;//b直接指向常量池里面的“a”;
a = "c";//创建一个“c”在常量池里面,但是b的值还是“a”
2:String对象 (new):String str = new String(“a”);
3:注意字符串的并置:
eg:String a=“a”,b="b"; String c=a+b;==>这里的c=a+b //ab 相当于String c = new String("ab");当右边有变量参与运算时,相当于new
常用方法:boolean equals(String s);比较两个字符串的值
startsWith(string s)查看s是否为原字符串的 前缀;
compareTo(string s) 按字典序来比较,大于返回1 ,等于返回0;小于返回-1
contains(string s)判断是否包含字符串s;返回值是boolean
indexOf(String s) 返回s在字符串的下标值;
lastIndexOf(string s)返回最后一个匹配s的下标值;
substring(int start ,int end)从下标start开始到end结束 获取字符串;