day04-常用API
StringBuilder
StringBuilder是拼接字符串的手段(工具),String才是开发的目的

//append方法返回的是当前对象的引用,可以实现链式编程
//源码如下
public StringBuilder append(String str) {
super.append(str);
return this;
}

StringBuffer 与 StringBuilder

StringJoiner

好处:自动添加间隔符号,开始符号和结束符号

Math
工具类不能创建对象,构造器私有,只会提供静态方法

Runtime
Runtime代表的是运行时环境,代表电脑中的JVM

//屁用没有,开拓思维
//启动QQ后会返回一个进程对象,代表启动的QQ软件
Process qq = runtime.exec("QQ");
Thread.sleep(1000);
qq.destroy();//关掉进程
System

currentTimeMillis()返回的是从1070-1-1 00:00:00走到此刻的总毫秒值(1s=1000ms)

BigDecimal
第一个构造器还是会失真,只是为了兼容大数据的运算,不推荐使用

阿里巴巴公司更推荐使用valueOf()方法包装浮点型数据成为BigDecimal对象。



规范代码参考
double a = 0.1;
double b = 0.2;
BigDecimal a1 = BigDecimal.valueOf(a);
BigDecimal b1 = BigDecimal.valueOf(b);
BigDecimal c1 = a1.add(b1);//接住结果
//BigDecimal是处理数据精度的手段;结果必须还是基本类型
double c11 = c1.doubleValue();
System.out.println(c11);
注意除法操作细节
BigDecimal i = BigDecimal.valueOf(0.1);
BigDecimal j = BigDecimal.valueOf(0.3);
//BigDecimal k = i.divide(j);//直接这么写会报错,因为无法得到一个精准的结果
//这时要使用重载方法,手动设置舍入模式
BigDecimal k = i.divide(j, 2, RoundingMode.HALF_UP);
System.out.println(k);
JDK8开始新增的日期、时间


LocalDate,LocalTime,LocalDateTime (重要)
三个都是不可变对象





毫秒值转LocalDateTime
long l = f.lastModified();
System.out.println(l);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.ofInstant(Instant.ofEpochMilli(System.currentTimeMillis()), ZoneId.systemDefault());
String format = ldt.format(dtf);
System.out.println(format);
ZoneId 、 ZonedDateTime
用的很少,不会也没关系


拿世界标准时间
ZonedDateTime zdt = ZonedDateTime.now(Clock.systemUTC());
System.out.println(zdt);
Instant

DateTimeFormatter(重要)

使用参考
//格式化时间
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss EEE 的 a");
LocalDateTime ldt = LocalDateTime.now();
String format = dtf.format(ldt);//格式化器格式化日期
System.out.println(format);//2025年05月27日 17:16:59 周二 的 下午
String format1 = ldt.format(dtf);//反过来调用也可以:日期用格式化器来格式化
System.out.println(format1);//2025年05月27日 17:18:55 周二 的 下午
///////////////////////////////////////////////////
///////////////////////////////////////////////////
///////////////////////////////////////////////////
//解析时间
String dateStr = "2023-11-23 12:12:43";
//第一步必须写一个日期时间格式化器
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime parse = LocalDateTime.parse(dateStr, dtf);
System.out.println(parse);
Period(一段时期)

Duration(持续时间)

1506

被折叠的 条评论
为什么被折叠?



