1.
boolean matches(String regex) // regex代表正则表达式
使用给定的正则表达式,来验证当前字符串的格式是否符合要求,符合则返回true
public class MatchesDemo {
public static void main(String[] args) {
String email = "123456788@qq.com";
String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+";
boolean match = email.matches(regex);
if (match) {
System.out.println("是正确的邮箱");
} else{
System.out.println("不是正确的邮箱");
}//是正确的邮箱
}
2.
String[] split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分,并将拆分出来的以String[]形式来返回
import java.util.Arrays;
public class SplitDemo {
public static void main(String[] args) {
String line = "abc123def456ghi";
String[] data = line.split("[0-9]+");//按数字拆(数字拆没了)
System.out.println(Arrays.toString(data));//[abc, def, ghi]
//最开始就是可拆分项目(.),那么数组第1个元素为空字符串--------“”
//如果连续两个(两个以上)可拆分项,那么中间也会拆分出一个空字符串---“”
//如果末尾连续多个可拆分项,那么拆出的空字符串被忽略
String line1 = ".123.456..789.....";
data = line1.split("\.");
System.out.println(Arrays.toString(data));//[, 123, 456, , 789]
}
}
3.
String replaceAll(String regex , String str)
将当前字符串中满足正则表达式的部分替换为给定的字符串
public class ReplaceAllDemo {
public static void main(String[] args) {
String line = "abc123def456ghi5";
line = line.replaceAll("[0-9]+","#NUMBERA#");
System.out.println(line);
}
}
4.
equals()和toString() idea快捷键 :Alt+Ins
point类若不重写Object类的toString()方法,则使用Object中定义的toString()方法
返回的字符串格式为:类的全称@地址
但通常这个返回结果对我们的开发没有帮助,所以我们经常重写toString()返回自己想要的内容
java中的String、StringBuilder等已经重写toString()返回字符串内容
//Object演示
public class ObjectDemo {
public static void main(String[] args) {
Point p1 = new Point(100,200);
System.out.println(p1.toString());
System.out.println(p1);//print()输出对象时,会自动调用toString()
String str = "这是个点:" + p1; //字符连接时,默认调用toString()
System.out.println(str);
}
}
Object中equals()内部还是使用==来比较地址的,没有实际意义
因此派生类在使用时若想要比较内容,常常需要重写equals()
//Object演示
public class ObjectDemo {
public static void main(String[] args) {
Point p1 = new Point(100,200);
Point p2 = new Point(100,200);
System.out.println(p1 == p2); //false , ==比较的是地址
System.out.println(p1.equals(p2)); //false, 默认调用Object的equals()
}
}



