考虑这个简单的servlet示例:
protected void doGet(HttpServletRequest request, HttpServletResponse response){ Cookie cookie = request.getCookie(); // do weird stuff with cookie object }
我总是想知道..如果您修改对象cookie
,是通过对象还是通过引用?
如果您修改对象
cookie
,是按对象还是按引用?
取决于你在这里"修改"的意思.如果更改引用的值,即cookie = someOtherObject
原始对象本身未被修改; 只是你失去了对它的引用.但是,如果您更改对象的状态,例如通过调用cookie.setSomeProperty(otherValue)
,那么您当然是在修改对象本身.
有关更多信息,请查看以前的相关问题:
Java,传值,引用变量
Java是否通过引用传递?