java - 这是返回指向值的指针还是复制值?

标签 java object servlets pointers copy

好吧,我很困惑。我相信它会将指针返回到原始 map ?

    private HttpServletRequest originalRequest;
    Map params = originalRequest.getParameterMap();
      params.remove("parameter-to-remove");
      params.put("parameter-to-add", "<a value>");

现在,在这些操作之后,originalRequest 中的参数会发生变化吗?或者它只是将值复制到参数中,而我对它们做什么并不重要,并且原始请求中不会发生任何更改?

最佳答案

返回的 map 是不可变的 map ,这可能是您没有看到反射(reflect)的更改的原因。

根据 getParameterMap javadoc

an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array.

如果您想设置一些请求值,您应该使用 setAttribute .

关于java - 这是返回指向值的指针还是复制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13466405/

相关文章:

java - 集合到int数组的转换

arrays - 错误 : Objects are not valid as a React child (found: object with keys {}). 请改用数组

java - 求一个结合对少数web技术的理解的问题

java - 我有一个 pdf 文件,我必须从中提取数据并显示,但我收到此异常,我无法弄清楚此异常是什么?

java - 在响应文件下载时重新启用表单提交按钮

java - 带有水平线的 SWT 标签未正确显示

java - 从 JSON 中获取所有用户并将其放入 TextView

javascript - 在javascript中通过另一个数组更改对象数组的值的更好方法

java - 如何添加处理指令 [jdom2]

javascript - 如何在另一个对象中设置另一个对象 | JavaScript