StringBuffer是线性安全的,StringBuilder不是线性安全的
字符串的修改:
stringBudile与stringBuiler提供了用于修改字符串内容的相关方法
String str=”努力学习JAVA”;
StringBudile sb=new StringBuile();
append(Str):向当前字符串末尾追加指定内容
System.out.println (sb.append(“,就是为了改变世界!”));
replace(int start,int end,str):将指定范围内的字符串替换为指定的内容
System.out.println (sb.repace(1,5,”开玩笑”);
delete(int start,int end): 将当前字符串中指定范围内的内容删除
System.out.println (sb.delete(1,5));
insert(int dex,str): 将给定字符串插入到指定位置,原位置及后续字符串顺序向后移动
System.out.println (sb.insert(1,”还在开玩笑”));
reverse():反转字符串
System.out.println (sb.reverse());
查询给定字符串在当前字符串中的位置:
indexOf(String str)
// 0123456789012345
String str = "thinking in java";
System.out.println(str.indexOf("i"));
重载方法允许从指定位置处开始查找
System.out.println(str.indexOf(“i”,3));
查找最后一次出现指定字符串的位置
System.out.println(str.lastIndexOf(“i”));
截取字符串:
substring(int start,int end)
// 0123456789012345
String str = "thinking in java";
System.out.println(str.substring(5,8));
如果只传入一个参数,表示从指定位置开始截取到字符串最末
去除当前字符串两边的空白字符:
trim()
String str = " hello ";
System.out.println(str.trim());
获取当前字符串指定下标对应的字符:
charAt(int index)
// 0123456789012345
String str = "thinking in java";
System.out.println(str.charAt(4));
判断当前字符串是否是以指定的字符串开始或结尾的:
boolean startsWith(String str)
boolean endsWith(String str)
String str = "thinking in java";
System.out.println(str.startsWith(“thi”));
System.out.println(str.endsWith(“ava”));
将当前字符串的英文转换为全大写或全小写:
String toUpperCase()
String toLowerCase()
String str = "我爱Java";
System.out.println(str.toUpperCase);
System.out.println(str.toLowerCase);
基本类型与引用类型的相互转换:
将基本类型转换成引用类型
System.out.println(引用类型.valueOf(基本类型));
将引用类型转换成基本类型
System.out.println(new 引用类型(基本类型).intValue);
获取引用类型对应的基本类型的最大或者最小值:
获取最大值
System.out.println(引用类型.MAX_VALUE);
获取最小值
System.out.println(引用类型. MIN_VALUE);
将给定的字符串转换为对应的基本类型:
String str = "123";
int i = Integer.parseInt(str);
System.out.println(i+1);
double d = Double.parseDouble(str);
System.out.println(d+1);
正则表达式:
+:表示内容连续出现至少1次以上,
*:连续出现0次以上
?:表示内容出现0-1次
^到$:表示从^里面的内容$为一个整体
\d:表示任意数字
\w:表示任意单词字符
\s:表示空白字符
\D:不表示任意数字
\W:表示任意单词字符
\S:表示空白字符
matches(String regex): 根据给定的正则表达式验
证当前字符串是否满足格式
String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9]+)+";
String mail = "fancq@tedu.cn";
boolean flag = mail.matches(regex);
if(flag){
System.out.println("是邮箱");
}else{
System.out.println("不是邮箱");
}
split(String regex): 将当前字符串按照满足正则表达式的部分进行拆分
String str = "abc123def456ghi789jkl";
String regex = "[0-9]+";
String[] array = str.split(regex);
for(int i=0;i
System.out.println(array[i]);
}
replaceAll(String regex,String str): 将当前字符串中满足正则表达式的部分替换为给定的字符串
String str = "abc123def456ghi789jkl";
System.out.println(str.replaceAll("\\d+", "#NUMBER#");
Calendar日历类:
该类是一个抽象类,封装了对时间的相关操作
Calendar calendar= Calendar.getInstance();
设置年
calendar.set(Calendar.YEAR, 2008);
System.out.println(calendar.getTime());
设置月
calendar.set(Calendar.MONTH, 7);
System.out.println(calendar.getTime());
设置日
DATE: 月中天
DAY_OF_MONTH:月中的天,与DATE一致
DAY_OF_WEEK: 周中的天,星期几
DAY_OF_YEAR: 年中的天
calendar.set(Calendar.DAY_OF_MONTH, 8);
System.out.println(calendar.getTime());
时
calendar.set(Calendar.HOUR_OF_DAY, 20);
分
calendar.set(Calendar.MINUTE,8);
秒
calendar.set(Calendar.SECOND, 8);
System.out.println(calendar.getTime());
获取年
System.out.println(calendar.get(Calendar.YEAR));
获取月
System.out.println(calendar.get(Calendar.MONTH)+1);
获取日
System.out.println(calendar.get(Calendar.DATE));
获取时
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
获取分
System.out.println(calendar.get(Calendar.MINUTE));
获取秒
System.out.println(calendar.get(Calendar.SECOND));
查看当月的天数
System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
查看2016年2月的天数
calendar.set(Calendar.MONTH, 1);
System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
查看今年总天数
System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_YEAR));
查看3年后
calendar.add(Calendar.YEAR, 3);
System.out.println(calendar.getTime());
查看2个月后
calendar.add(Calendar.MONTH, 2);
System.out.println(calendar.getTime());
查看8天以后
calendar.add(Calendar.DAY_OF_YEAR, 8);
System.out.println(calendar.getTime());
查看5小时以前
calendar.add(Calendar.HOUR_OF_DAY, -5);
System.out.println(calendar.getTime());
日期的各种格式相互转换:
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");