commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Williams <scient...@gmail.com>
Subject Re: Pointers
Date Fri, 28 Jan 2011 22:01:59 GMT
All objects are passed as references in Java.
All fundamental scalar types have Object wrapped versions.
An argument that is meant to be modified just needs to be an object
reference.

So, you can simply go from:
void funkyReader(int arg) { arg++; }
to:
void funkyChanger(Integer arg) { arg++; }

If it needs to be threadsafe, simply synchronize on the object everywhere it
is used.

Autoboxing will not cause an 'int' variable to change as it is just copied
to create the temporary object.

Stephen

On Tue, Jan 4, 2011 at 12:58 AM, Julien Aymé <julien.ayme@gmail.com> wrote:

> If you only use boolean, integer and long, you can also use AtomicXXX
> from java.util.concurrent.atomic (if you have to use them in a
> multi-threaded environment).
> Otherwise, the MutableXXX wrappers in Commons Lang are good.
>
> Julien
>
> 2011/1/3 Paul Benedict <pbenedict@apache.org>:
> > Michael,
> >
> > Primitives are passed by value in Java. If you want to "modify"
> primitives,
> > use the MutableXXX wrappers in Commons Lang.
> >
> > Paul
> >
> > On Mon, Jan 3, 2011 at 3:01 PM, Michael Giannakopoulos <
> miccagiann@gmail.com
> >> wrote:
> >
> >> I mean exactly the same thing as C# but from the replies i see that's a
> >> difficult task and also that has little to do with apache commons...
> >> Because
> >> i use java a lot it's annoying the fact that specific variables that i
> want
> >> to change values in other functions cannot be passed as arguments but
> >> instead you have to declare them as arrays or other objects... Thanks
> for
> >> all the replies. Do you believe that something like that can start in
> >> commons?
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
-- 
Stephen D. Williams sdw@lig.net scienteer@gmail.com LinkedIn:
http://sdw.st/in
V:650-450-UNIX (8649) V:866.SDW.UNIX V:703.371.9362 F:703.995.0407
AIM:sdw Skype:StephenDWilliams Resume: http://sdw.st/gres
Personal: sdw.st facebook.com/sdwlig twitter.com/scienteer

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message