java中有类似C#里ref或out的功能吗?

arvon009 2011-12-02 06:56:38
如题,在编程过程中可能会遇到调用自定义函数对一些数据进行处理,如:
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那样,向各位大侠请教。
...全文
1456 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pywepe 2011-12-04
  • 打赏
  • 举报
回复
java 没有 但可以变个法实现
oO临时工Oo 2011-12-04
  • 打赏
  • 举报
回复
没办法。。

C#里的底层说不定也是编译后打包成包装类型,谁知道呢


作为基本类型的int,

比如int k = 1;

在底层的命令是没有k这个概念的,也就是在基本类型的运算是不需要寻址的,直接用其值参与运算

其它基本类型也是一样
可乐罐 2011-12-04
  • 打赏
  • 举报
回复
可以考虑下java对象的引用传递来解决这个问题
葱葱鼠 2011-12-02
  • 打赏
  • 举报
回复
感觉不需要吧
函数在java中目前见过的都是封装到类和接口中得
单独的函数基本没见到了。
hllfl 2011-12-02
  • 打赏
  • 举报
回复
你交换变量么

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧