java中的对象引用

all*_*lan 4 java object

考虑这个简单的servlet示例:

protected void doGet(HttpServletRequest request, HttpServletResponse response){
    Cookie cookie = request.getCookie();
    // do weird stuff with cookie object
}
Run Code Online (Sandbox Code Playgroud)

我总是想知道..如果您修改对象cookie,是通过对象还是通过引用?

Zac*_*ena 10

如果您修改对象cookie,是按对象还是按引用?

取决于你在这里"修改"的意思.如果更改引用的值,即cookie = someOtherObject原始对象本身未被修改; 只是你失去了对它的引用.但是,如果您更改对象的状态,例如通过调用cookie.setSomeProperty(otherValue),那么您当然是在修改对象本身.

有关更多信息,请查看以前的相关问题: