如题,在编程过程中可能会遇到调用自定义函数对一些数据进行处理,如:
public static void main(String[] args)
{
    ....
    int x = 1, y = 2;
    swap(x, y);
    System.out.println("x = " + x + ", y = " + y);
    ....
}//互换两个数
static void swap(int x, int y)
{
    x = x + y;
    y = x - y;
    x = x - y;
} 有什么办法让x=2,y=1 
不用对象封装引用传递的方法,而是像C#里的ref那样,向各位大侠请教。

解决方案 »

  1.   

    感觉不需要吧
    函数在java中目前见过的都是封装到类和接口中得
    单独的函数基本没见到了。
      

  2.   

    可以考虑下java对象的引用传递来解决这个问题
      

  3.   

    没办法。。C#里的底层说不定也是编译后打包成包装类型,谁知道呢
    作为基本类型的int,比如int k = 1;在底层的命令是没有k这个概念的,也就是在基本类型的运算是不需要寻址的,直接用其值参与运算其它基本类型也是一样
      

  4.   

    java 没有 但可以变个法实现