Day16
可变长字符串
StringBuilder:字符可变序列
String:字符不可变序列
StringBuffer:线程安全的可变序列
效率对比:StringBuilder>StringBuffer>>String
1.+和append的对比:
*append的效率远远高于+
2.delete(int start, int end) 删除指定位置元素 deleteCharAt(int index)删一个
3.insert(int offset, boolean b):在指定位置插入内容
4.replace(int start, int end, String str):替换指定范围的字符串内容 setCharAt(int index, char ch)替换一个字符
5.reverse():反转字符序列
6.setLength(int newLength):设置序列长度,新长度变短,放弃多余内容;变长,填充空格
时间类
1.Date时间类:
过时的时间类:大部分功能过时了,都被Calendar替代
java.util.Date:java中通用的Date
java.sql.Date:用于和数据库时间类型进行交互
过时的API尽量不去数用
1.构造器
1.1默认当前时间
1.2据距离元年的毫秒数构造时间
2.setTime() getTime() 获取毫秒数,设置毫秒数
3.after(Date when) before(Date when) 判断时间先后顺序
日历类
Calendar:日历类
1.获取对象 默认当前时间
1.1getInstance
1.2new GregorianCalendar() 可以指定年月日时分秒
注意点:当时间溢出的时候,自动向上一层递增 例如:分钟超过60,递增一小时
2.getTime():获取一个存储了相同时间的Date对象 setTime(Date date)将一个Date对象的时间设置到当前的Calendar中
3.add(int field, int amount):为指定的字段增加和减少时间
4.get(int field):获取指定字段的时间
5.获取某个字段的最大值
getActualMaximum(int field) :考虑时间情况
getMaximum(int field) :返回字段可能的最大值
6.set(int field, int value):设置指定字段的时间
Date对象与字符串转换
public class DateFormatStu {
/*DateFormat:用于进行Date对象与字符串之间的转换
1.getInstance()
2.new SimpleDateFormat() 可以指定格式
3.parse(String source)
4.format(Date date)
改变格式的方式:
1.在建立子类对象的时候设置
2.applyPattern(String pattern)
*/
public static void main(String[] args) throws ParseException {
demo1();
}
public static void demo1() throws ParseException{
//DateFormat df = DateFormat.getInstance();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH点mm分ss秒");
Date date = new Date();
String mess = df.format(date);
System.out.println(mess);
String src = "2018年5月30日 15点20分30秒";
SimpleDateFormat sdf = (SimpleDateFormat)df;
sdf.applyPattern("yyyy年M月dd日 HH点mm分ss秒");
Date now = sdf.parse(src);
System.out.println(now);
}
}