如何用基本数据类型的包装类改写下面程序?

advirss 2010-04-10 09:18:09
想交换两个基本数据类型数据,如
int a = 89;
int b = 43;
swap(a, b);
输出 a = 43, b = 89
请问该swap(int, int)该如何实现
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoeg 2010-04-11
  • 打赏
  • 举报
回复
X,包装器是不可变数据,这个问题无解!
铑枪--突廆孒 2010-04-10
  • 打赏
  • 举报
回复
自己写个Integer的封装类吧。。。

package cn.sky;

public class Integer {
private int num;

public Integer(int num) {
this.num = num;
}

public int getNum() {
return num;
}

public void setNum(int num) {
this.num = num;
}

@Override
public String toString() {
return num + "";
}
}

class Test {

public static void main(String[] args) {
Integer a = new Integer(89);
Integer b = new Integer(43);
swap(a,b);
System.out.println(a + "---" + b);
}

static void swap(Integer a, Integer b) {
int temp = b.getNum();
b.setNum(a.getNum());
a.setNum(temp);
}

}

ZangXT 2010-04-10
  • 打赏
  • 举报
回复
java语言不支持。
l_binq 2010-04-10
  • 打赏
  • 举报
回复
JAVA里面参数的传递是值传递,复制一个原来的对象副本来进行操作,改变不了原来的数啊。
l_binq 2010-04-10
  • 打赏
  • 举报
回复
JAVA里面参数的传递是值传递,复制一个原来的对象副本来进行操作,改变不了原来的数啊。
l_binq 2010-04-10
  • 打赏
  • 举报
回复
a和b的值都是在栈里面而不是在堆里面,通过参数的传递来实现两个数的交换是做不到的,起码我做不到。

62,614

社区成员

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

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