String和StringBuilder和StringBuffer的区别
-
数据修改:
-
String是不可变的,即一旦创建就不能修改
-
StringBuffer、StringBuilder是可变,可以对字符串进行修改
-
-
线程安全:
-
由于String中的数据是不可变的,线程安全
-
StringBuffer由于方法上加了synchronize锁,那么就是线程安全的
-
StringBuilder线程不安全
-
-
性能:
-
由于 String 类的不可变性,每次操作都会创建新的字符串对象,因此在频繁的字符串操作场景中,性能较差
-
StringBuffer 的效率相对较低,因为它保证了线程安全,所以在多线程环境下使用
-
StringBuilder 比 String 效率更高,适合在单线程环境下进行大量字符串操作。
-
-
适用场景:
-
如果需要频繁修改或拼接字符串,并且在单线程环境下操作,可以选择 StringBuilder
-
如果在多线程环境下操作,可以选择 StringBuffer 来保证线程安全
-
如果字符串不需要修改,可以选择 String 类,由于其不可变性可以提供更好的安全性和性能
-
-
String类的方法及其描述
-
indexof() 指定字符串第一次出现索引的位置
-
Lengt() 长度
-
concat() 拼接字符串末尾
-
charAt() 返回指定索引的值
-
subString() 截取
-
toCharArray() 转换为字符数组
-
getBytes() 转化为字节数组
-
replace() 替换
-
split() 分割
-
toUpperCase() toLowerCase() 转换为大小写
-
-
StringBuilder、StringBuffer类的方法及其描述
-
append() 追加
-
setCharAt() 指定索引设置值
-
insert() 指定索引插入值
-
delete() 指定索引删除值
-
toString()
-
subString()
-
indexOf() 指定字符串第一次出现索引的位置
-
replace() 替换
-
时间类
Date 类是用于表示日期和时间的类。它位于 java.util 包中,提供了一系列方法用于处理日期和时间的操作
-
Date 类的概念:Date 类是一个包含时间戳的对象,用于表示特定的时刻,即从标准基准时间(称为“纪元”)开始计算的毫秒数。可通过创建 Date 对象来表示一个具体的日期和时间
时间格式化
public static void main(String[] args) throws Exception{ Date date = new Date(); System.out.println("date = " + date); DateFormat dateInstance = DateFormat.getDateInstance(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); String format = simpleDateFormat.format(new Date()); System.out.println("format = " + format); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format1 = simpleDateFormat1.format(new Date()); System.out.println("format1 = " + format1); SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat(); Date parse = simpleDateFormat2.parse(format1); System.out.println("parse = " + parse); }
日历
-
calendar
public static void main(Sting[] args){ Calendar instance = Calendar.getInstance(); Date time = instance.getTime(); System.out.println("time = " + time); }