导航:首页 > 编程语言 > java传值和传址

java传值和传址

发布时间:2025-01-03 02:38:06

java基础问题,到底是值传递还是引用传递

传递的是对象没错,问题出在str = "修改后的str"; 这一句上。
这句话表示新建一个对象,内容是“修改后的str”,然后赋给str
因此,原对象内容并没有发生变化。这也是java和c++不同的地方。

String[]和int[]中存放的是指向对象的地址,因此修改后它的值可以返回到主函数中。这个是毋庸置疑的。
数组也是一样,因为数组传递的是地址(我这么认为)因此,你对对象的改变就会反应到主函数中。

你采用的String 和 String[]变量的区别是:String变量传递的是一个对象,当它被赋予一个新对象内容时,原对象不会发生变化。而String[]是一个数组,传递的是对象的地址。新对象赋给新地址,地址没有变,但对象变了,因此String【】内容变了。

② java参数在方法内部可以获得正确值,但是引用方法后得不到参数的值

传值方式不会影响数据,执行完后它对传入的值没有任何影响;

JAVA参数的两种方式:
1、传值——传的是一个复制的值进去,不会影响到数据本身
2、传引用(传址)——即把这个对象的引用或地址传进去,只要方法里面的任何操作都会影响到这个对象的本身。

③ JAVA数组地址传递问题!

在Java中,参数的传递严格意义上讲都是传值的,只不过简单很容易分清轿宴楚。而对于对象,有些复杂。

首先,在Java中是先声明一个类的变量。然后,用类生成一个类的实例,也就是在内存中的类的实例区域,最后把这个区域的指针赋给类的这个变量。注意,变量中存的是指向对象的指针。

若是按传址传参数,是要改变这个对象变量所指的内存对象区域,也就是要在方法内把新对象赋给方法外的对象变桥羡量。但是,这在Java中办不到。因为Java是把对象变量中的对象指针传入方法,并没有把变量本身的地址传入方法;在方法中,会生成新变量接受这个对象的指针。所以,在Java方法中,可以改变当前对象中的内容,却不能改变方法外边变量的值,即所指向的对象。对于传值、传址的分析就是为了在闭消银应用中少犯错误。其他是次要的。

明白没有,是传值而不是传值的地址!地址没有变,C当然不变了!

④ java 里为什么不能改变参数的值,但能改变参数的属性值

参数有两种方式,普通类型如int,String等为传值,其他的如JAVA对象,数组,集合等均为传址。

传值方式只是把值传入参数,在方法里的任何动作与源无关,源的值不变;

传址方式是把源对象的地址传入方法,在方法里的动作都是直接操作源对象,所以能改变其值。

⑤ Java 传递参数时,传递一个变量快还是传递一个实体类

传递实体类参数是传址调用
传基础类型参数是传值调用
传址调用要快于传值调用
传值调用会先申请一块空间将参数的值存起来,以便调用
所以方法调用不能对实参做出任何修改
传址调用得到参数时直接使用指向的内存地址,少了分配空间的这一步
方法可以对地址所指向的数据进行修改
所以传址调用速度快
可以网络一下 传值调用快还是传址调用快

⑥ JAVA中map中存储list集合问题。

因为map添加list是对list的引用,相当于传址!明白传值和传址的区别,你就可以明白

阅读全文

与java传值和传址相关的资料

热点内容
一条小米数据线大概多少钱 浏览:443
如何匹配两个excel表格相同的数据 浏览:120
苹果笔记本文件怎么找回 浏览:426
数据库怎么用游标 浏览:722
不同频率的数据如何共享 浏览:83
什么时候说解读文件 浏览:165
扬州前端程序员私活网站有哪些 浏览:657
怎么改手机网络好一点 浏览:702
浅谈微信卡券功能开发 浏览:511
线切割如何用电脑编程 浏览:227
vba如何获取已经打开的excel文件 浏览:209
什么是投标文件名 浏览:390
电脑网络断开了怎么办 浏览:492
数控车床直角怎么清角怎么编程 浏览:414
如何从流量竞争到数据智能化 浏览:176
不想升级优酷 浏览:305
tplink初始密码6位 浏览:720
如何找到绝对值最大的数据 浏览:269
vep文件怎么播放 浏览:812
ios短信同步到安卓 浏览:217

友情链接