建议最好放弃这类swap的做法。
这种传地址的语义很confusing. 当然,如果非要这么做,自己写个wrapper类就完了。

解决方案 »

  1.   

    如果像c++里面一样用int 类型得话好像不行,但可以用Integer包装类包装一下,这样传递参数得时候就是传递应用了,可以达到同c++里面传递地址一样得效果.大家看看这样行不行?
    void swap(Integer a,Integer b);
      

  2.   

    这与java内存管理严重冲突,不能做,否则必然造成内存泄漏。
      

  3.   

    我今天刚看了java核心技术,里面讲了这样不行弟
    不过可以另外一个int包装类
    不好意思我忘了名字
    难道用java实现这样一个 在c++中及其简单的函数 要这么复杂吗
    那何必去掉指针和引用,至少留下个引用吧
      

  4.   

    如果想同C++的指针一样,当然可以用void swap(Integer a,Integer b)
    因为Java默认对对象采用引用的方式传递,类似C++的指针,但是建议最好不要这样操作.