• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Return values of methods

 
Matty Mathew
Greenhorn
Posts: 7
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If a method has a return type, either a primitive or an Object type or any other user-defined type, what happens to the return value if it is not used.
For eg., if I have a hashtable MyHash, I would use the put() method to fill it up. The put() has a return type of Object. However, I don't need the return type so I ignore it. Does the returned Object occupy any memory space...or is it garbage collected if it is not referenced....what happens to this lost value??
 
Sean MacLean
author
Ranch Hand
Posts: 621
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think you can be assured that it will be available for garbage collection as soon as the method exits (i.e. returns). Just think of the return value as an assignment to a variable, as such
MyObject = getMyObject(); // this method returns a MyObject
The return value now has a reference and is not available for gc. Therefore, if you do this
getMyObject();
then the MyObject instantiated in the method is not referenced and, therefore, is available for gc.
Sean
 
kate damond
Ranch Hand
Posts: 77
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sean,
what is gc as in
The return value now has a reference and is not available for gc.

Cheers,
Kate
 
Dave Vick
Ranch Hand
Posts: 3244
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Kate
gc = garbage collection
 
Matty Mathew
Greenhorn
Posts: 7
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks folks, u've been a help.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic