为什么Java 6 覆盖SortedMap中的keySet()、entrySet()和values()接口
Why Java 6 overrides keySet(), entrySet() and values() interface in SortedMap
Java 5 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/SortedMap.html
Java 6 https://docs.oracle.com/javase/6/docs/api/java/util/SortedMap.html
如您所见,自 Java 6 起,这三个 api 已被覆盖。谁能告诉我这样修改的目的是什么?
必须重写这些方法才能拥有自己的 Javadoc。
在子接口中声明方法的其他原因是能够限制 return 类型或添加注释,但在这种情况下他们没有这样做,所以这不是原因。
Java文档是接口契约的一部分。在 Java 6 中,Sun/Oracle 觉得有必要阐明这些方法在 SortedMap
上的行为,这进一步限制了它们在 Map
中的行为。
例如,在 SortedMap
中,keySet
的 Javadoc 说:
The set's iterator returns the keys in ascending order.
在 Map
上,相同的方法没有一般情况下的此描述,允许地图以他们喜欢的任何顺序 return 键集; SortedMap 进一步限制了自己。
Java 5 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/SortedMap.html
Java 6 https://docs.oracle.com/javase/6/docs/api/java/util/SortedMap.html
如您所见,自 Java 6 起,这三个 api 已被覆盖。谁能告诉我这样修改的目的是什么?
必须重写这些方法才能拥有自己的 Javadoc。
在子接口中声明方法的其他原因是能够限制 return 类型或添加注释,但在这种情况下他们没有这样做,所以这不是原因。
Java文档是接口契约的一部分。在 Java 6 中,Sun/Oracle 觉得有必要阐明这些方法在 SortedMap
上的行为,这进一步限制了它们在 Map
中的行为。
例如,在 SortedMap
中,keySet
的 Javadoc 说:
The set's iterator returns the keys in ascending order.
在 Map
上,相同的方法没有一般情况下的此描述,允许地图以他们喜欢的任何顺序 return 键集; SortedMap 进一步限制了自己。