1.StringBuilder类和StringBuffer类
1.1基本概念
java.lang.String类用于描述不可变的字符序列。
java.lang.StringBuilder类和StringBuffer类用于描述可以改变的字符序列。
其中StringBuffer类从jdk 1.0 开始出现,属于线程安全的类,因此效率比较低;
其中StringBuilder类从jdk1.5开始出现,属于非线程安全的类,因此效率比较高(推荐);
1.2StringBuilder类
-
常用的方法
StringBuilder(String str) 根据参数指定的字符串内容构造对象 其中该对象的初始容量为:16+参数字符串的长度 StringBuilder
delete(int start, int end) 将当前字符序列中从start位置(含)开始到end位置(不含)结尾之间的内容移除 StringBuilder
insert(int offset, String str) 用于将参数指定的字符串str插入当前字符序列中下标为offset的位置。 StringBuilder
append(String str) 追加到末尾 StringBuilder
replace(int start, int end, String str) 将当前字符序列中从start位置到end位置之间的内容使用str替换 StringBuilder reverse() 将此字符序列用其反转形式取代。
int | capacity() 返回当前容量。 |
---|---|
int | length() 获取调用对象的长度/字符的个数。 |
2.Calendar类
-
基本概念
描述特征的瞬间。
抽象类,不能实例化对象。
-
常用方法
static Calendar
getInstance() 获取Calendar类型的引用。 void
set(int year, int month, int date, int hourOfDay, int minute, int second) 设置年月日时分秒信息。
Date | getTime() |
---|---|
返回Date类型的对象。 |
package cn.itxdl.day13;
public class TestStringBuilder {
public static void main(String[] args) {
//1.声明StringBuilder类型的引用指向StringBuilder类型的对象
StringBuilder sb1 = new StringBuilder("hello");
int a = sb1.capacity();//16+5
int b = sb1.length();//5
System.out.println(a+" "+b);
//2.向字符串对象中插入数据内容
String s1 = new String("hello");
String s2 = s1.toUpperCase();
System.out.println(s1);
System.out.println(s2);
String str = "abcd";
StringBuilder sb2 = sb1.insert(3, str);
sb1.append("qwer1234567890");
System.out.println(sb1);
System.out.println(sb2);
//当插入的字符串内容超过初始容量时,自动扩容。
System.out.println(sb1.capacity()+" "+sb1.length());
sb1.delete(0, 3);
System.out.println(sb1);
sb1.replace(1, 4, "222");
System.out.println(sb1);
sb1.reverse();
System.out.println(sb1);
}
}
package cn.itxdl.day13;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestCalendar {
public static void main(String[] args) {
// 1.使用原始方法来构造对象,采用过时的方法
Date d1 = new Date(2008-1900,8-1,8,20,8,8);
System.out.println(d1);
//2.Calendar
Calendar c1 = Calendar.getInstance();
c1.set(2008, 8-1, 8, 20, 8, 8);
Date d2 = c1.getTime();
System.out.println(d2);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(d2));
}
}