Java中Stringbuild,Date和Calendar类的用法详解

  

Java中StringBuilder, Date和Calendar类的用法详解

StringBuilder类的使用

在Java中,String是一个不可变的类,即一旦创建了一个String对象,它的内容就无法更改。如果需要频繁地对字符串进行修改,使用String类型会导致性能问题。这时就可以使用StringBuilder类,它是一个可变的字符串,可以方便地进行字符串的增删改操作。

创建StringBuilder对象

可以通过直接使用无参构造函数或传入字符串来创建StringBuilder对象:

StringBuilder sb1 = new StringBuilder(); // 创建一个空的StringBuilder对象
StringBuilder sb2 = new StringBuilder("abc"); // 创建一个包含字符串"abc"的StringBuilder对象

常见的StringBuilder方法

StringBuilder append(String str)   // 在字符串末尾添加参数中的字符串
StringBuilder delete(int start, int end)   // 删除字符串中指定位置的字符
StringBuilder insert(int offset, String str)   // 在字符串中指定位置插入参数中的字符串
StringBuilder replace(int start, int end, String str)   // 替换字符串中指定位置的字符
StringBuilder reverse()   // 反转字符串
String toString()   // 将StringBuilder对象转换为String对象

示例

StringBuilder sb = new StringBuilder("ab");
sb.append("cd");   // sb现在的值为"abcd"
sb.delete(0, 2);   // sb现在的值为"cd"
sb.insert(1, "efg");   // sb现在的值为"cdefg"
sb.replace(1, 4, "1234");   // sb现在的值为"c1234g"
sb.reverse();   // sb现在的值为"g4321c"
String str = sb.toString();   // 将StringBuilder对象转换为String对象

Date类的使用

Date是Java中处理日期和时间的类,表示一个特定的时间点。它的构造函数可以接受一个long类型的参数,表示从1970年1月1日0点0分0秒起的毫秒数。Date类的方法不适合进行日期和时间的计算,因为它的大部分方法已经被标记为过时。

示例

// 创建一个当前时间的Date对象
Date date1 = new Date();
System.out.println(date1);

// 创建一个特定时间的Date对象
Date date2 = new Date(1234567890);
System.out.println(date2);

Calendar类的使用

Calendar是Java中处理日期和时间的类,它是一个抽象类,提供了用于操作日期和时间的方法。通过Calendar类可以方便地进行日期和时间的计算。

创建Calendar对象

Calendar是一个抽象类,无法直接创建实例,需要使用它的子类GregorianCalendar来创建Calendar对象:

Calendar calendar = new GregorianCalendar();

常见的Calendar方法

void set(int field, int value)   // 设置指定字段的值
int get(int field)   // 获取指定字段的值
Date getTime()   // 返回当前Calendar对象表示的时间
void add(int field, int amount)   // 增加指定字段的值
void roll(int field, int amount)   // 将指定字段的值按增量滚动,不影响较大的字段

示例

// 创建一个当前时间的Calendar对象
Calendar calendar1 = new GregorianCalendar();
System.out.println(calendar1.getTime());

// 设置Calendar对象表示的日期
calendar1.set(2022, Calendar.OCTOBER, 1); // 2022年10月1日
System.out.println(calendar1.getTime());

// 对Calendar对象进行日期加减
calendar1.add(Calendar.MONTH, -1); // 减一个月,结果为2022年9月1日
System.out.println(calendar1.getTime());

// 对Calendar对象进行时间滚动
calendar1.roll(Calendar.DATE, 15); // 按15天的增量滚动,结果为2022年9月16日
System.out.println(calendar1.getTime());

以上就是Java中StringBuilder, Date和Calendar类的用法详解。

相关文章