这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战
浮点数的处理
正确选择数据类型
-
浮点型,浮点数是属于有理数中的某些特定子集的数字表示,在计算机中用以近似表示任意某个实数
-
整形,计算机中的一个基本的专业术语,指没有小数部分的数据
货币数据类型的选择
- 任何货币金额,均以最小货币单位且整型类型来进行存储
浮点数据类型的问题
- 精度丢失
浮点数如何避坑
-
浮点数之间的等值判断
- 浮点数,Math.abs(a-b)<diff
- BigDecimal,compareTo()
-
禁止使用BigDecimal(double)
日期数据的处理
JDK8新增日期API
-
LocalDate,日期
-
LocalTime,时刻
-
LocalDateTime,时间
-
Instant,时间戳
JDK8新增日期API优点
-
不变性,线程安全
-
关注点分离,时间日期都有对应的类
-
清晰,在所有的类中,方法都被明确定义用以完成相同的行为
-
实用操作,所有新的日期/时间API类都实现了一系列方法用以完成能用的任务
日期格式化要注意的问题
-
yyyy,代表当天所在的年
-
YYYY,代表当周所在的年,如果跨年的话返回的是下一年
控制语句的避坑规范
并发场景中控制语句避坑,避免使用等号判断中断或退出的条件,否则容易产生等值判断被击穿的情况
优雅的面向对象
七大设计原则,参考01架构设计