Java常用类


Date类

java.util.Date

Date d = new Date();

d.toString;//获取当前时间:Sat Jun 13 21:43:08 CST 2021
d.toLocaleString;//获取当前的时间的本地时间格式2021-6-13 21:43:08
System.currentTimeMillis();//返回自1970-1-1 00:00:00 GMT以来此对象表示的毫秒数:1592056131151

//常用于计算运行时间
long startTime = System.currentTimeMillis();
for(int i = 0; i<100000; i++){

}
long endTime = System.currentTimeMillis();
System.out.println(endTime-startTime);
//727

java.sql.Date

java.sql.Date为java.util.Date的子类

Date d = new Date(1592056131151L);

d.toString;//获取当前的时间2021-06-13

//util->sql:
java.util.Date date = new Date(1592056131151L);//创建util.Date对象
Date date1 = (Date) date;//向下转型
Date date2 = new Date(date.getTime());//利用构造器

//sql->util:
java.util.Date date3 = d;

//string->sql.Date:
Date date4 = Date.valueOf("2021-6-13");

日期转化

DateFormat df = new SimpleDateFormat(pattern:"yyyy-MM-dd HH:mm:ss");
//SimpleDateFormat extends DateFormat(抽象类)

//String->Date
try{
    Date d = df.parse(sourse:"2021-4-6 12:23:54");
    System.out.println(d);
}catch(ParseException e){
    e.printStackTrace();
}
//Sat Apr 06 12:23:54 CST 2021

//Date->String
String format = df.format(new Date());
System.out.println(format);//2021-06-14 14:34:51

Calendar

Calendar cal = new GregorianCalendar;
Calendar cal2 = Calendar.getInstance();
//GregorianCalendar extends Calendar(抽象类)

//get方法
cal.get(Calendar.YEAR);//2021
cal.get(Calendar.MONTH);//5

//set方法
cal.set(Calendar.YEAR,1990);
cal.set(Calendar.Month,3)

//String->Calendar:
java.sql.Date date = java.sql.Date.valueOf("2021-4-5");

//java.sql.Date->Calendar:
cal.setTime(date);

LocalDateTime

//get
LocalDateTime.getYear();//2021
LocalDateTime.getMonth();//JUNE
LocalDateTime.getMonthValue();//6

//with
LocalDateTime LocalDateTime2 = LocalDateTime.withMonth(8);

//加减操作
LocalDateTime LocalDateTime3 = LocalDateTime.plusMonths(8);
LocalDateTime LocalDateTime3 = LocalDateTime.minusMonths(8);

DateTimeFormatmatter

DateTimeFormatmatter df = DateTimeFormatmatter.ofPattern("yyyy-MM-dd hh:mm:ss");

//LocalDateTime->String:
LocalDateTime now = LocalDateTime.now();
String format = df.format(now);
System.out.println(format);//2021-06-15 03:22:25

//String->LocalDateTime
TemporalAccessow parse = df.parse(text:"2021-06-15 03:22:25");

Math类

Math.random();//生成随机数
Math.abs(-80);//80 绝对值
Math.ceil(9.1);//10 向下取整
Math.floor(9.9);//9 向上取整
Math.round(3.5);//4 四舍五入
Math.max(3,6);//6 取最大值
Math.min(3,6);//3 取最小值

String类

String

String s = new String("abcdefghijk");

s.length();//字符串的长度
s.isEmpty();//字符串是否为空
s.charAt(1);//b
s.equals(s1);//判断s与s1是否相同
s.compareTo(s1);//返回首个不一样的字母的ASCII码的差值
s.substring(3);//截取[3:]
s.substring(3,6);//截取[3:6)
s.concat("pppp");//连接
s.replace(oldChar:'p',newChar'q');//将所有的p换成q

//按指定方法分裂为数组
String s3 = "a-b-c-d";
String[] strs = s3.split('-');
Arrays.toString(strs);//[a,b,c,d]

s.toUpperCase();//转换为大写
s.toLowerCase();//转换为小写

//去除首尾空格
String s4 = "   a b c  ";
s4.trim();

String.valueOf(false);//转换为String类型

StringBuilder

StringBuilder sb = new StringBuffer("abcdefg");

//增
sb.append("hijk");

//删
sb.delete(3,6);//删除[3,6)上的字符
sb.deleteCharAt(6);//删除在第6位上的字符

//改
sb.insert(3,",");//在下标为3的位置上插入
sb.replace(3,5,"aaa");//在下标为[3,5)的位置进行替换
sb.setCharAt(3,'a');//替换下标为3的值

//查
sb.charAt(i);

//截取
sb.substring(2,4);//返回[2,4),一个新的String

区别

  • String类是不可变类,一旦创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象销毁
  • StringBuffer代表一个字符序列可变的字符串,一旦生成了最终的字符串,调用toString方法将其转变成String
  • StringBuilder与StringBuffer类似,效率高,但是线程不安全

Author: WTY
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source WTY !
  TOC