我想使用枚举跳过某些请求参数。我使用下面的代码,但没有得到期望的结果。谁能告诉我如何从枚举中跳过一个元素,或者下面的代码有什么问题?

 for (Enumeration<String> e = request.getParameterNames(); e.hasMoreElements();) {
        if("James".equalsIgnoreCase(e.nextElement().toString())) {
            e.nextElement();
            continue;
        } else {
            list.add(e.nextElement().toString());
        }
    }

最佳答案

您在每个循环中多次调用nextElement()跳过多个元素。您只需调用一次nextElement()。就像是...

for (Enumeration<String> e = request.getParameterNames(); e.hasMoreElements();) {
    String value = e.nextElement();
    if(!"James".equalsIgnoreCase(value)) {
        list.add(value);
    }
}

10-07 23:48