社区
Java SE
帖子详情
大家帮我看看这段代码是怎么执行呢?
meiqianmeifang
2008-04-30 10:28:42
int[] a1={1,2,3,4,5};
int[] a2;
a2=a1;
for (int i=0;i<a2.length;i++)
a2[i]++;
for (int i=0;i<a1.length;i++)
System.out.println("a1["+i+"]="+a1[i]);
到底是怎么执行呢?
运行的结果是:
a1[0]=2
a1[1]=3
a1[2]=4
a1[3]=5
a1[4]=6
为什么是a1[0]=2呢?我实在搞不懂
...全文
107
13
打赏
收藏
大家帮我看看这段代码是怎么执行呢?
int[] a1={1,2,3,4,5}; int[] a2; a2=a1; for (int i=0;i<a2.length;i++) a2[i]++; for (int i=0;i<a1.length;i++) System.out.println("a1["+i+"]="+a1[i]); 到底是怎么执行呢? 运行的结果是: a1[0]=2 a1[1]=3 a1[2]=4 a1[3]=5 a1[4]=6 为什么是a1[0]=2呢?我实在搞不懂
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pangyusheng
2008-04-30
打赏
举报
回复
a1和a2数组的引用是相同的.所以你对a2的操作,对a1也是起作用的.
给你举一个例子:
假如你们家就你和你的妻子.住在一个房间里.你和你妻子都有开这个门的钥匙.
当你妻子用钥匙打开你的门,把房间收拾了一下,等你回家,用钥匙打开门口,发现是收拾完的房间
你就是:a1
你妻子是:a2
钥匙:内存的引用(地址)
房间:内存空间
jack462
2008-04-30
打赏
举报
回复
a2引用a1的地址。指针指向同一个地址,
raigor235
2008-04-30
打赏
举报
回复
楼上说的都正确!!帮你顶一下!!
dreamhyz
2008-04-30
打赏
举报
回复
[Quote=引用 2 楼 anqini 的回复:]
两个引用指向同一个地址,即使一个改变那地址的内容,另一个也受影响,假如你clone的话就不发生这种事了!
原因是 数组是 obejct!
[/Quote]
zhenglimv
2008-04-30
打赏
举报
回复
力争成为中国最大的架构师群联盟,架构师1群:43545919已满,2群:59048426的招募也近尾声,现3群:17303696正式开放,各群内容基本相同,高手也经过群主进行了调整,希望大家不必重复加入!培训经过筛选才会进行,请大家不必着急!!!
已经上传的顶级软件产品的架构分析,本群资料仅供研究学习,不得商用!!!
google 、
eBay、
Youtube、
淘宝等
......
技术文章包括:
《自己动手写操作系统》
《搜索引擎-原理、技术与系统》
《企业应用架构模式》
......
重要的RUP实例
设计模式精解
......
资料陆续上传中
zhenglimv
2008-04-30
打赏
举报
回复
力争成为中国最大的架构师群联盟,架构师1群:43545919已满,2群:59048426的招募也近尾声,现3群:17303696正式开放,各群内容基本相同,高手也经过群主进行了调整,希望大家不必重复加入!培训经过筛选才会进行,请大家不必着急!!!
已经上传的顶级软件产品的架构分析,本群资料仅供研究学习,不得商用!!!
google 、
eBay、
Youtube、
淘宝等
......
技术文章包括:
《自己动手写操作系统》
《搜索引擎-原理、技术与系统》
《企业应用架构模式》
......
重要的RUP实例
设计模式精解
......
资料陆续上传中
zhenglimv
2008-04-30
打赏
举报
回复
力争成为中国最大的架构师群联盟,架构师1群:43545919已满,2群:59048426的招募也近尾声,现3群:17303696正式开放,各群内容基本相同,高手也经过群主进行了调整,希望大家不必重复加入!培训经过筛选才会进行,请大家不必着急!!!
已经上传的顶级软件产品的架构分析,本群资料仅供研究学习,不得商用!!!
google 、
eBay、
Youtube、
淘宝等
......
技术文章包括:
《自己动手写操作系统》
《搜索引擎-原理、技术与系统》
《企业应用架构模式》
......
重要的RUP实例
设计模式精解
......
资料陆续上传中
fzk2015
2008-04-30
打赏
举报
回复
同意楼上
数组属于引用数据类型。a2=a1; 这句实际上是传递的引用(首地址和长度),所以两数组指的是同一段内存。对a2的操作实际上也是对a1的操作。
anqini
2008-04-30
打赏
举报
回复
两个引用指向同一个地址,即使一个改变那地址的内容,另一个也受影响,假如你clone的话就不发生这种事了!
原因是 数组是 obejct!
milo-higgs
2008-04-30
打赏
举报
回复
a1和a2都是指向相同的区域的啊
你对a2进行a2[i]++; 这样的操作,实际上就是对数组所指的那片内存进行的操作,而不是地址,所以a1也会发生变化的。
blliy117
2008-04-30
打赏
举报
回复
楼上也解释挺多的,我也稍微吹一下
在java中要充分理解对象这个概念,
其实a1,a2永远都只是一个指针引用,他们引用的是同一个对象,所以不管你改变a1还是a2其实都是改
{1,2,3,4,5}的数组,
因为
a1=a2的时候对象没有被复制!
当然基本数据类型和String类型是会被复制的!
shiling07
2008-04-30
打赏
举报
回复
[Quote=引用 11 楼 cuijie_cn 的回复:]
引用 2 楼 anqini 的回复:
两个引用指向同一个地址,即使一个改变那地址的内容,另一个也受影响,假如你clone的话就不发生这种事了!
原因是 数组是 obejct!
[/Quote]
cuijie_cn
2008-04-30
打赏
举报
回复
[Quote=引用 2 楼 anqini 的回复:]
两个引用指向同一个地址,即使一个改变那地址的内容,另一个也受影响,假如你clone的话就不发生这种事了!
原因是 数组是 obejct!
[/Quote]
SQLServer_2000-2008_R2查询智能分析器RedGate_SQL_Prompt_V5.3.4.1_Crack_Keygen破解教程注册机免费
SQL脚本越写越多,总是觉得编写效率太过于低下,这和打字速度无关。在我个人编写SQL脚本时,至少会把SQL的格式排列成易于阅读的,因为其他人会阅读到你的SQL,无论是在程序中或是脚本文件中,良好的排版不仅让人看起来赏心悦目,在和他人之间做交流时也省时省力,不会因为揉成一团的sql去询问Team Member:您能
帮
我解释一下这么一大段sql是做什么的吗? 虽然微软至SQL 2008以上的版本提供了SQL智能提示,但是它的反应实在是过于迟钝,等提示出来我们早就可以敲出一行语句了。而且它没有提供sql
代码
格式化的功能,咱们只能自己做手动格式化,手动格式化sql总是需要花费不少时间的。 它也是一款拥有智能提示的sql编程工具,而且小巧灵活。 总而言之,它也是一款能够提高sql编程效率的工具。 注释:内附破解教程doc。和keygen,欢迎免费下载
如何保护前端JS
代码
?前端js
代码
加密
Web前端JS
代码
需要保护吗? 这得具体情况具体分析。 1、如果只是写一段web页面图片轮播,或是跑马灯效果等等之类简单的功能。那不需要保护。 2、如果是精心设计一个绚丽的特效,如果想要保护
这段
自己付诸幸苦实现的特效
代码
不被他人随意拿去使用,那应该保护
这段
JS
代码
! 3、如果页面上有重要的功能是用JS
代码
管控的,比如交易逻辑、帐号密码信息、个人隐私、甚至有与远程服务器或数据库的通信等等,那...
什么是低
代码
?
低
代码
是一种软件开发方法,可以减少手工编码的过程,尽可能快的交付应用程序。 低
代码
平台是工具的合集,这些工具可以通过建模和图形界面来进行应用程序的可视化开发。低
代码
使开发人员可以跳过手工编码,从而加快了应用程序的开发周期和成本。 根据 Gartner 的报告,到 2024 年,低
代码
将占应用开发市场的 65% 以上,在新冠疫情期间加速了这种解决方案的普及。在这种新方案的普及下,了解低
代码
的概念,低
代码
平台的组成以及低
代码
解决的问题非常重要。 什么是低码平台? 低
代码
平台是一系列工具的合集,可..
手把手教你用 Python
执行
JS
代码
各位小伙伴,大家好,这次咱们来说一下关于爬虫方向的一个知识,Python如何
执行
JS,快来
看看
吧~正常
代码
我们现在看一段js
代码
,
代码
逻辑很简单,就是拼接时间返回。12345678910varnow=newDate(1230999938);1;returnyear+"-"+month+"-"+date+""+hour+""+minute+""+second;}运行一下
这段
代码
,如下图所示。...
spring + groovy 实现动态
代码
注入
执行
昨天线上的
代码
调用一个远程的服务无缘无故不成功,又没加那么多日志,不好定位问题,好想在线上
执行
一下
代码
,打印点log
看看
于是想着怎么动态
执行
点java
代码
,忽然想起以前玩过的groovy,于是搞起来 大概思路是这样,写一个控制器,接收一段
代码
,动态
执行
,然后返回
执行
结果,切记,做好权限控制,免得杯具 没想到实现起来异常简单 1、gradle.build加...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章