怎么理解这两段代码呢?

xiepengyu 2012-02-16 05:48:34
如下:
1、

double[] originalArray = new double[10];
//省略对originalArray的赋值
double[] revisedArray = incrementArrayBy2(originalArray);//每个元素增加一


2、

double[] originalArray = new double[10];
//省略对originalArray的赋值
double[] revisedArray = new double[10];
revisedArray = incrementArrayBy2(originalArray);//每个元素增加一
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rexwangchn 2012-02-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 louistao 的回复:]

java的引用。
第一个的revisedArray 没有使用new,它是一个引用,指向了堆上originalArray 的内容
第二个revisedArray 是new出来的,revisedArray = incrementArrayBy2(originalArray);是赋值。
楼主可以看看String的用法
[/Quote]

说的比较明白了。
  • 打赏
  • 举报
回复
..........还能说些神马来安慰自己那?
xiepengyu 2012-02-17
  • 打赏
  • 举报
回复
有没有赋值成功啊
fox000002 2012-02-16
  • 打赏
  • 举报
回复
差别就是一个多余的 new double[10];
fkwcowboy 2012-02-16
  • 打赏
  • 举报
回复
两种用法的区别是什么?
爱摸鱼de老邪 2012-02-16
  • 打赏
  • 举报
回复
第一个revisedArray没有分配存储空间,只是指向堆上的originalArray的内容,是一个引用,第二个revisedArray在new这一步时在堆上分配了空间,然后你再赋值让revisedArray成为指向了originalArray的内容的引用。LZ可以debug看看,new和复制之后revisedArray的id号(在Eclipse中)。
Louistao 2012-02-16
  • 打赏
  • 举报
回复
java的引用。
第一个的revisedArray 没有使用new,它是一个引用,指向了堆上originalArray 的内容
第二个revisedArray 是new出来的,revisedArray = incrementArrayBy2(originalArray);是赋值。
楼主可以看看String的用法

62,615

社区成员

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

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