为什么 getHeaderNames 在 HttpServletRequest 中返回一个枚举,但在 HttpServletResponse 中返回一个集合?

2022-09-03 07:23:26

HttpServletRequest.getHeaderNames() 返回,HttpServletResponse.getHeaderNames() 返回 .Enumeration<String>Collection<String>

为什么会出现这种差异?


答案 1

枚举与 Hashtable 和 Vector 结合使用。HttpServletRequest从jdk 1.2开始就有getHeaderNames方法,此后没有被改变。

然而,HttpServletResponse直到jdk 6才有getHeaderNames方法,到那时,Collection显然比传统的枚举更受欢迎。


答案 2

请求方法已在 java 版本 1.2 中实现。而收集的来自jdk 6。

因此,随着java的改进,他们已经使用了两种不同的东西来收集和枚举。

如果您看到响应标头值,则如果我们修改了集合,它们将不会有任何变化。


推荐