Java does not support out parameter; all parameters are passed by value, but a parameter can be of mutable reference type, in this case, even though the instance of a parameter can not be modified referentially, the object itself can be modified inside the function and returned modified.
See this:
http://www.javacamp.org/javavscsharp/outparam.html[
^]. A primitive or immutable type can be modified as a result of call by wrapping it in a class or passing it as a reference of array (which is a reference type and mutable.
See also about mutable and immutable objects:
http://www.javaranch.com/journal/2003/04/immutable.htm[
^].
—SA