在Java中,String是一个不可变的类,即一旦创建了一个String对象,它的内容就无法更改。如果需要频繁地对字符串进行修改,使用String类型会导致性能问题。这时就可以使用StringBuilder类,它是一个可变的字符串,可以方便地进行字符串的增删改操
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类的用法详解。
本文标题为:Java中Stringbuild,Date和Calendar类的用法详解
基础教程推荐
- ConcurrentHashMap是如何实现线程安全的你知道吗 2023-06-10
- java后端合成图片的实现示例 2023-01-09
- java – 如何创建新活动,我可以选择从数据库中添加新项目? 2023-10-29
- 详解Java LinkedHashMap与HashMap的使用 2023-06-30
- Springboot使用SPI注册bean到spring容器的示例代码 2023-06-10
- JSP 获取用户的真实IP两种实现方法详解 2023-08-01
- java中数据库字典的最佳实践 2023-10-28
- Java基础学习之关键字和变量数据类型的那些事 2023-03-06
- 浅析SpringBoot微服务中异步调用数据提交数据库的问题 2023-03-15
- Java冒泡排序及优化介绍 2023-08-11
