这个servlet代码是如何编译的

时间:2014-07-15 09:56:04

标签: java servlets

我有以下遗留代码:

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快照enter image description here

1 个答案:

答案 0 :(得分:-1)

如果我错了,请纠正我,但我认为较旧的编译器会改变这一点:

Map<String, String> vars = request.getParameterMap();

进入此(原始地图):

Map vars = request.getParameterMap();

所以它应该运行良好。 但它似乎在Java7中已经改变了。我无法找到确切的链接,但这些可能有所帮助:

http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html