1

私は JSP/Java を使用していますが、次のコードについて質問を受けました。

HttpSession httpSession = (HttpSession)pageContext.getSession();
SessionData sessionData = (SessionData)httpSession.getAttribute("data");
sessionData.setAccountId(account.getAccountId());
sessionData.setUsername(account.getUsername());
sessionData.setLoggedIn(true);

電話する必要がありますhttpSession.setAttribute("data", sessionData);、また、(まだ) 電話する必要がありますか?

私が理解している限り、オブジェクトは参照によって渡されますが、詳細はわかりません。むしろ、最初の試行で正しく行います。

よろしく。

4

2 に答える 2

4

httpSession.setAttribute("data", sessionData); を呼び出す必要がありますか? か否か、

いいえ、する必要はありません。sessionDataSession オブジェクトに格納されている参照のコピーです。したがって、この参照を使用してオブジェクトに加えた変更はすべて、Session に格納されている参照に反映されます。

私が理解している限り、オブジェクトは参照によって渡されます

いいえ、Java では何も参照によって渡されません。すべて値渡しです。あなたの場合、値によって渡されるのは参照です。

于 2013-07-03T17:53:52.013 に答える
0

Java はすべてを値で渡します。したがって、それを行う必要はありません。オブジェクト参照は値渡しです。

于 2013-07-03T17:54:27.463 に答える