Primitive datatypes in Java are always a passby value. You can pass them by reference, by wrapping the data in to single element array. Here is the code (Tested on Java 1.2) :
public class PassByReferance { public static void main(String args[]){ double value = 1234.000; PassByReferance.manipulate(value); System.out.println(" Value of Double is : " + value); // No Change // Will Print : Value of Double is : 1234.0 double[] wrapper = new double[1]; wrapper[0] = value; PassByReferance.manipulate(wrapper); System.out.println(" Value of Doubleis : " + wrapper[0]); // Data Changed // Will Print : Value of Double is : 6170.0 } static void manipulate(double[] data){ data[0] = data[0] * 5; } static void manipulate(double data){ data = data * 5; }}
You can also try this with other datatypes.