首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Enumeration<>枚举差异

Enumeration<>枚举差异
EN

Stack Overflow用户
提问于 2017-01-12 17:27:01
回答 1查看 116关注 0票数 1

我是一个JSP的狂热爱好者,我对EnumerationEnumeration<type>之间的区别感到困惑,我从这本韩文书中学到了这本书,书中的示例源代码说Enumeration在eclipse霓虹灯版本中不起作用。它只有在写Enumeration<String>的时候才能工作。有人能告诉我有什么区别吗?

代码语言:javascript
复制
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; 

charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>헤더 목록 출력</title>
</head>
<body>
<% 
    Enumeration<String> headerEnum = request.getHeaderNames();
    while(headerEnum.hasMoreElements()){
        String headerName = (String)headerEnum.nextElement();
        String headerValue = request.getHeader(headerName);

%>
<%=headerName %> = <%=headerValue %> <br>
<%
    }
%>

</body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2017-01-12 17:38:59

只要看看the Enumeration documentation就知道了。另请查看the generic types documentation

通过使用Enumeration,您可以使用Enumeration<Object>,因为它是默认的。此<Object>所做的只是指示枚举类,在该特定实例中,它称为E的类型(在枚举文档中)将被解析为Object。使用<String>也是如此:名为E的类型将被解析为字符串。

如果你检查nextElement() signature,它将返回E。所以,通过使用EnumerationEnumeration<Object>,该方法将返回Object,你将需要你所做的强制转换:

代码语言:javascript
复制
 String headerName = (String)headerEnum.nextElement();

通过使用Enumeration<String>,该方法将返回一个字符串,因此您可以直接执行以下操作:

代码语言:javascript
复制
 String headerName = headerEnum.nextElement();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41609375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档