package chapter7;
/**
* String类是不可变类,即一旦一个String对象被创建以后,包含在里面的序列是不可变的。
* StringBuffer对象则代表一个字符序列可变的字符串。最后也可以用toString()方法将其转换成String
* StringBuilder功能和StringBuffer是一样的,只是它没有实现线性安全的,所以性能高。
* String concat(String str):连接字符串
* boolean contentEquals(StringBuffer sb):比较字符串
* static String copyValueOf(char[] data):将字符数组连缀成字符串
* boolean endsWith(String suffix):字符是否已suffix结尾
*/
public class Stringtest {
public static void main(String[] args) {
// Java文件名
String fileName = "HelloWorld.java";
// 邮箱
String email = "[email protected]";
// 判断.java文件名是否正确:合法的文件名应该以.java结尾
/*
参考步骤:
1、获取文件名中最后一次出现"."号的位置
2、根据"."号的位置,获取文件的后缀
3、判断"."号位置及文件后缀名
*/
//获取文件名中最后一次出现"."号的位置
int index = fileName.lastIndexOf(".");
// 获取文件的后缀
String prefix =fileName.substring(index);
// 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
if (index != -1 && index != 0 && prefix.equals(".java")) {
System.out.println("Java文件名正确");
} else {
System.out.println("Java文件名无效");
}
// 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前
/*
参考步骤:
1、获取文件名中"@"符号的位置
2、获取邮箱中"."号的位置
3、判断必须包含"@"符号,且"@"必须在"."之前
*/
// 获取邮箱中"@"符号的位置
int index2 = email.lastIndexOf("@");
// 获取邮箱中"."号的位置
int index3 = email.indexOf(‘.‘);
// 判断必须包含"@"符号,且"@"必须在"."之前
if (index2 != -1 && index3 > index2) {
System.out.println("邮箱格式正确");
} else {
System.out.println("邮箱格式无效");
}
}
}