问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java中实现类交换的方法

发布网友 发布时间:2022-04-25 15:38

我来回答

5个回答

热心网友 时间:2023-10-13 16:35

java中是值传递,对于基本数据类型来说是传值的,对于自定义的数据类型或应用数据类型是传递引用的。你的DATA类属于传引用。而引用传递则传进来的是该对象的一个别名,即引用该对象在虚拟机中的“地址”,因此引用传递会对该“地址”的内部属性产生影响,而不会改变该“地址”在虚拟机中的位置,即引用传递在外部看来是没有发生过任何变话的,但从内部看来,它的属性会随着调用它的方法的改变而改变。因此你的交换方法不好使。
建议这样修改
public static void swap(Date x, Date y) {
Date temp =null;
temp.setYear(x.year);
temp.setMonth(x.month);
temp.setDay(x.day);
x.setYear(y.year);
x.setMonth(y.month);
x.setDay(y.day);
y.setYear(temp.year);
y.setMonth(temp.month);
y.setDay(temp.day);
}

热心网友 时间:2023-10-13 16:36

1.借助中间量交换
int x = 10;
int y = 20;
int temp = x;

x = y;
y = temp;
此种方法可以将中间量看成空杯,即把temp看成是空杯,

把x看成是装有白酒的杯子,把y看成是装有红酒的杯子
int temp = x; 把白酒倒到空杯中,此时temp装有白酒,x变成空杯

x = y; 把y中的红酒倒到x空杯中,此时x装有红酒,y变成空杯
y = temp;
把白酒倒到y空杯中,此时x装有红酒,y装有白酒,实现x和y的互换
2.数值相加减交换
int x =
10;
int y = 20;
x = x + y;
y = x - y;
x = x - y;
此种方法通过先求得两数的和再进行减运算
x = x + y; 此时x的值为10+20=30;
y = x - y;
此时的x经上面的运算变成30,所以y = 30 - 20 = 10;
x = x - y; 此时的y经上面的运算变成10,所以x = 30 - 10 =
20;实现两个数的互换
3.位移运算交换
int x = 10;
int y =
20;
x = x ^ y;
y = x ^ y;

热心网友 时间:2023-10-13 16:36

你的方法
public static void swap(Date x, Date y) {
Date temp = x;
x = y;
y = temp;
}
可以实现java对象交换的,但是对于简单类型不行

热心网友 时间:2023-10-13 16:37

这个问题的确很典型,java实现这样的方法非常麻烦。
那个地方没有必要一定要调用方法吧这样写不行吗?
if (date[j].compareDate(date[j + 1]) > 0)
{
Date temp =date[j];
date[j]=date[j+1];
date[j+1] = temp;
}

热心网友 时间:2023-10-13 16:38

我都蒙了。。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
桃科村基本概况 攀枝花方山能带火去吗 上肢力量有哪些 安徽民办体育学校有哪些 黄池之会事件介绍 蒙城县庄子体育艺术中等专业学校的院校办学层次 黄池之会介绍? 翼支付-翼建钟情活动中遇到支付困难如何处理? 黄池镇的介绍 方山收费站到攀枝花多少公里 php程序与java程序之间做数据交互,怎么做 java进行两数交换时,如何不用中间量就交换? 店内上保险,都有哪些 java如何实现2个数之间互换 请问24小时加盟便利店如何购买保险 java 数据交换方法 店铺怎么保险?保费大概多少? java的数据交换 店铺的保险金是什么 淘宝现在是不是没有退运保险了,我买东西都找不到退运保险在哪里了 Java 两个项目之间如何传数据 因datatraveler2.0的问题用不了U盘怎么办 请问可以给店铺买保险吗?保财产损失盗抢方面的,哪家公司可以买? Java 中实例化后的对象间如何交互传递数据? 针对店铺有什么保险 java程序中,怎么互换2个变量的值? 欢天喜地七仙女的灵石全图谁知道哪有 店铺财产保险 java 如何实现两个程序的数据传递. 泰戈尔的诗 使生如夏花之绚烂,死如秋叶之静美 就这一句? 如何在Java中实现交换两个变量值的方法 java哪些方式可以与异构系统交换数据 word文档怎么解除密码 word文档解除密码 华为手环在开启导航模式时能接电话吗? 苹果6s手机用耳机时突然有很响的刺啦声是怎么回事? 苹果耳机耳机有吱吱响声,但是有声音。一弹就会好,这是什么情况? 苹果耳机插上,里面就乌拉乌拉响怎么回事? iphone5的耳机晃动起来里面会有响声是怎么回事 苹果手机插入耳机有滋滋声音是什么原因? 苹果耳机单边响怎么办 为什么苹果耳机仓会响 iPhone7耳机有噪音是怎么回事 新买的苹果6耳机沙沙的响 苹果11耳机吱吱响? 春日的寓意 《春日》这首诗的意思是什么? 春日蕴含了怎样的哲理 春日的诗意是什么? 朱熹的《春日》说明了什么道理?