This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Integer : pass by value ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Integer : pass by value ?" Watch "Integer : pass by value ?" New topic
Author

Integer : pass by value ?

Edward Chen
Ranch Hand

Joined: Dec 23, 2003
Posts: 798
I have tested pass-by-value and pass-by-reference , found the Integer will be passed by value ? why ? it is because Integer is wrapper class of primitive type ?

Thanks.

Paul Clapham
Sheriff

Joined: Oct 14, 2005
Posts: 19728
    
  10

No, it's much simpler than that. It's because all parameters are always passed by value in Java. You can read this Ranch campfire story which explains why that is.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 43986
    
  33
Lots of people get very confused about that. There are lots of explanations in this thread
Edward Chen
Ranch Hand

Joined: Dec 23, 2003
Posts: 798
Paul Clapham wrote:No, it's much simpler than that. It's because all parameters are always passed by value in Java. You can read this Ranch campfire story which explains why that is.


Thanks. Lots of discussions.

as said: "For references to objects, you pass a copy of the reference (the remote control)", reference is the address of the object, so we can say pass by object (reference), On the other side, reference is address, (0x1234), still is a value, so we can say we are passing a value. From this point of view, no any different.

Another question, Integer is an immutable class, like String ?

Thanks.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24189
    
  34

Edward Chen wrote:
Another question, Integer is an immutable class, like String ?


Yes. The Javadoc says so.


[Jess in Action][AskingGoodQuestions]
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 43986
    
  33
Are you sure, Ernest; I can't find "immutable" in the documentation. It says "immutable" in BigInteger, however, for example.
 
Have you checked out Aspose?
 
subject: Integer : pass by value ?
 
It's not a secret anymore!