How to do call by reference in Java?

前端 未结 12 773
悲&欢浪女
悲&欢浪女 2021-01-30 17:36

Since Java doesnt support pointers, How is it possible to call a function by reference in Java like we do in C and C++??

12条回答
  •  误落风尘
    2021-01-30 18:03

    package jgf;
    
    public class TestJavaParams {
    
     public static void main(String[] args) {
        int[] counter1 = new int[1];
        counter1[0] = 0;
        System.out.println(counter1[0]);
        doAdd1(counter1);
        System.out.println(counter1[0]);
        int counter2 = 0;
        System.out.println(counter2);
        doAdd2(counter2);
        System.out.println(counter2);   
      }
    
      public static void doAdd1(int[] counter1) {
        counter1[0] += 1;
      }
    
      public static void doAdd2(int counter2) {
        counter2 += 1;
      }
    }
    

    Output would be:

    0
    1
    0
    0
    

提交回复
热议问题