java如何实现swap? int a,b如何实现swap(a,b)?即使是把a,b封装成Integer也不行吧?这样虽然是swap()函数中reference变化了,可是主函数中得reference是不变的,那么我改如何实现swap呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 a和b放在其他对象中做属性就行了。典型如用数组。swap(int[] a, int[] b){ //只用一个元素 int temp = a[0]; a[0] = b[0]; b[0] = temp;} a b本身就是基础类型变量,要通过函数传参来交换本体,是mission impossible啊 基本数据就一句话的事情,要用函数来做????最简单的一句话足以:a = (a+b)-(b=a); java的参数传递的本质是值传递,具体介绍有本书里面说的比较详细,你可以看一下:《Effective Java》这本书,老外的。 所以java里面完不成swap这样的值交换的 完成不了Java传递的是引用的值,所以是一个引用的副本交换引用的副本不会改变原始引用 就算考虑溢出也是一句话的事情a = a^b^(b = a);这样总行了吧。 问JAVA学习的重点 使用JDBC或JDBC-ODBC怎么与ifix实时数据库进行连接? 一个去除数组重复元素的算法(仅用数组实现) java timeout String 的构造方法String(String original) 如何获得JAVA源文件的属性及类型 graphics2d怎么渲染一个点? Socket程序两台电脑为什么连接失败?(在同一台电脑上就成功) test 奔4不支持jdk1.2?大家碰到过吗? 新手用java做界面问题 synchronized同步问题
swap(int[] a, int[] b){ //只用一个元素
int temp = a[0];
a[0] = b[0];
b[0] = temp;
}
最简单的一句话足以:a = (a+b)-(b=a);
Java传递的是引用的值,
所以是一个引用的副本
交换引用的副本不会改变原始引用