logoalt Hacker News

gf000yesterday at 9:07 AM1 replyview on HN

Actually, Java only has pass-by-value, even for reference types. (The same way as C does).

People really misuse/misunderstand this term: Java objects are passed by their pointers ("references") being copied.

The alternative is pass by reference, which is done by e.g. c++, rust, who actually have references (Java doesn't). A good litmus test is whether you can write a swap method that actually changes your local variables.


Replies

steveklabnikyesterday at 2:37 PM

Rust is also “pass reference by value,” not pass by reference.