use*_*322 15 java servlets java-ee
HttpServletRequest.getHeaderNames()返回Enumeration<String>并HttpServletResponse.getHeaderNames()返回一个Collection<String>.
为什么会出现这种差异?
枚举与Hashtable和Vector结合使用.自从jdk 1.2以来,HttpServletRequest具有getHeaderNames方法,并且此后一直没有被改变.
但是HttpServletResponse在jdk 6之前没有getHeaderNames方法,到那时Collection显然优于传统的Enumeration.
这可能只是因为 request 方法是在 Collections API 添加到 java 之前实现的(我认为是在 java 1.2 中)。它是对java的一个重大改进,大量的java API都是建立在它之上的。然而,java API 的一些先前部分是在之前构建的Enumerations(Vectors在 Vector 实现之前java.util.List)等......为了兼容性,它一直保持这种方式。