前置き Java において、メソッドへの引数はプリミティブ型だろうが参照型だろうが値渡しで渡されるのですが、いつまでたっても参照渡しという人が後をたちません。悲しい。 その理由 「参照渡し」と主張する人は、以下の二点のどちらか(あるいは両方)について誤解していることが多いように思われます。 Java における「参照」とは何かがわかっていない そもそも「値渡し」と「参照渡し」が何なのかわかっていない なので、その二点について説明してみます。 説明 Java における「参照」とは JLS - 4.3.1 より An object is a class instance or an array. The reference values (often just references) are pointers to these objects, and a special null refere
![もう参照渡しとは言わせない - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/f45bbb5ed8e289c34fd227e51487706e6bdcbfaf/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgyJTgyJUUzJTgxJTg2JUU1JThGJTgyJUU3JTg1JUE3JUU2JUI4JUExJUUzJTgxJTk3JUUzJTgxJUE4JUUzJTgxJUFGJUU4JUE4JTgwJUUzJTgyJThGJUUzJTgxJTlCJUUzJTgxJUFBJUUzJTgxJTg0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03ZWUyNjM0NjRkMjVjZWU3NDQ5NGNmMjFiMjE5MTViMw%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWRzdG95JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02YmMxMjcyYjhmZmI4YzE5NDU2OTYyZjkwNjE5MGNmNw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D21b38aa2372df6e748adf5fc3b12af7a)