在Java类中,java.time.Period该方法normalized()的Javadoc中包含以下内容:
这将使年和月单位标准化,而使天单位保持不变。
超类的方法在其Javadoc中具有以下内容:
规范化过程特定于每个日历系统。例如,在ISO日历系统中,年和月被标准化,而天未被标准化,[...]
我无权访问ISO 8601-1:2019的实际文本,也不想在上面花费数百个[在此处插入货币](我想标准化可能在第1部分中描述:基本规则而不是在第2部分:扩展中)。
有人可以阐明为什么Period#normalized()不使天数正常化吗?它是否真的直接来自ISO 8601本身,是在其他地方指定的,还是仅特定于Java实现的?
Effective Java,第43项规定:
返回不可修改的空集合而不是
null.
到现在为止还挺好.有什么指导方针,到底要返回什么?这个问题甚至有意义吗?我在想的是:
LinkedList<>或是否有所不同ArrayList<>(0)?HashMap<>或者是否有所不同TreeMap<>?性能差异?几乎不.
内存占用?也许.
CPU占用空间?也许.
是否应该全局声明这些静态返回(即缓存)?