我有以下遗留代码:
Map<String, String> vars = request.getParameterMap(); // (point 1) request is HttpServletRequest
try{
for (Entry paramEntry : vars.entrySet()) {
String paramKey = (String)paramEntry.getKey();
String[] paramValues = (String[])paramEntry.getValue();// (point 2)
}
根据java doc getParameterMap()
,应该返回java.util.Map<java.lang.String,java.lang.String[]>
。但是在我的日食中,这段代码编译得非常好,而且这段代码在现场环境中运行了很久
我的问题是:代码如何在第1点编译,虽然返回类型不同,而且在第2点我们提取String[]
。
P.S。:我的eclipse快照
答案 0 :(得分:-1)
如果我错了,请纠正我,但我认为较旧的编译器会改变这一点:
Map<String, String> vars = request.getParameterMap();
进入此(原始地图):
Map vars = request.getParameterMap();
所以它应该运行良好。 但它似乎在Java7中已经改变了。我无法找到确切的链接,但这些可能有所帮助:
http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html