SpringBoot 实战:优雅的使用枚举参数
你好,我是看山。
接口开发过程中不免有表示类型的参数,比如 0 表示未知,1 表示男,2 表示女。通常有两种做法,一种是用数字表示,另一种是使用枚举实现。
你好,我是看山。
接口开发过程中不免有表示类型的参数,比如 0 表示未知,1 表示男,2 表示女。通常有两种做法,一种是用数字表示,另一种是使用枚举实现。
你好,我是看山。
笔者主修Java,所以在《程序员进阶书单2021版》主要推荐了一些Java工程师进阶必读书单。推荐原则是豆瓣的评分,结果,遗漏了一本开源书籍,甚是遗憾,今天补上。
该图片由Erik Karits在Pixabay上发布
你好,我是看山。
前面聊了聊 Java8 新版时间 API 的类,然后又说了说怎么与旧版时间 API 的转换,今天来聊聊怎样通过新 API 实现老 API 的功能,这样我们就可以逐步替换掉旧版 API,与时俱进。
你好,我是看山。
前面写过一篇文章 《如果非要在多线程中使用 ArrayList 会发生什么?》,有读者反馈,Java 11 代码已经修复,还会出现 null 元素。
为了便于理解,当时只是通过代码执行顺序说明了异常原因。其实多线程中还会涉及 Java 内存模型,本文就从这方面说明一下。
你好,我是看山。
从 Java1 到 Java8 将近 20 年,再加上 Java8 的普及时间、各种历史 API 兼容过渡时间。我们很多时候需要在旧时间 API 与新时间 API 之间切换,并行使用。今天就来说说,java.util.Date
与java.time.LocalDate/LocalDateTime
如何互相转换。
该图片由Önder Örtel在Pixabay上发布
你好,我是看山。
年龄大的 Java 程序员都有体会,Java8 之前,Java 提供了一组时间类:java.util.Date
、java.util.Calendar
及其子类和工具类等。功能比较全面,最大的缺点是难用。所以很多团队直接放弃原生时间类,使用第三方的时间类库。后来,Java8 吸收了 joda-time 的优秀设计,提供了一组新的时间处理 APIjava.time.
。
本文作为这个系列的第一篇,扒一扒Date
和Calendar
存在的问题,说说 Java8 提供的时间库是怎么解决这些问题的。后续再说一下 Java8 中java.time.
包中的一些核心类,例如LocalDate
、LocalTime
、LocalDateTime
、ZonedDateTime
、Period
、Duration
。