\ String 是 引用类型,除了 你说的那几个基本类型外 都是 引用类型拷贝 的时候也是引用的地址,不光拷贝 使用的时候 都是先找地址。去api看看,可以看到public final class Stringextends Objectimplements SerializableString 是个类。数据类型,值传递和引用传递有什么区别,String是什么传递? 你学过C或者C++吗?这两个概念是从C/C++延续过来的,就类似于C里面的值传递和指针传递。在java中除了基本类型(Integer/Float/Double等)和String类的对象外,所有的类对象引用都是引用传递,也就是传递的对象地址。所谓值传递就是传递的值的拷贝,而不是原来的值,比如public static void main(String[]args){int a=10;int b=20;int c=add(a,b);System.out.println(\"a=\"+a+\",b=\"+b+\",c=\"+c);}private static int add(int a,int b){a=20;b=30;return a+b;}输出:a=10,b=20,c=50这就是所谓值传递,在被调方法中改变参数值不会影响主调方法中定义的变量的值如果你将a、b定义为Student类的对象,然后在add方法中改变参数里面的值,那么主调方法main中的a、b变量将跟着发生改变,就是所谓引用传递C# 关于引用类型传递的问题,怎么会这样? 原来是学C++的吧?Net的引用和C++不怎么一样,C++的引用是对象的别名,而.Net的引用只是一种隐式的指针。比如,string s=new string();s是指向新创建的这个string对象的一个引用string p=s;把s赋给p,那么p就指向和s一样的地址p=null;把空引用赋给p,那么p以后就指向null,但s并不会因此改变所以啊,.Net的引用其实就是隐式的指针,这么理解就可以了接着回过来看你的例子,只要修改一下就能达到你想要的效果加上ref关键字static public void K(ref A i){i=null;}调用的时候也是A.K(ref l);l.Q(ref l);
随机阅读
- 高中化学质谱法和核磁共振氢谱还有红外光谱看不懂, 核磁共振氢谱红外光谱
- 英雄小八路电影连环画多版 连环画收藏
- 赤水河的地形地貌的意义是什么 茅台镇赤水河的神话故事
- 怎么制作一个简简单单的气压计 气压计制作
- 大学生团队游戏奖励物品 我在游戏上被一个诈骗团队以刷取游戏物品为由骗了我1176元钱 应该怎么办
- 什么时候需要清气分热? 治疗热在气分证的清热药
- 高压试验线 电缆高压怎么试验
- 从马驹桥邮局如何到东赵村 北京马驹桥邮局电话号码是多少
- 幼犬吃两口就不吃什么原因 狗狗精神好的很,都比较正常但是就是不怎么吃东西,吃一点然后就不吃
- 美团拉黑是不是永久的 美团众包app永久拉黑了现金可以提吗?
- 守望先锋 dva运动会 守望先锋DVA都有哪些弱点 玩耍时一定要注意
- 百利电器有限公司怎么样? 百利电器配套
- 维多利亚一号事件 电影维多利亚一号是真实故事改编??原型曝光?
- qq上的广场上的语音大厅在哪 新版手机QQ如何进入语音大厅?
- 基因双修饰治疗糖尿病 胰岛素是治疗糖尿病的重要药物.图6是利用基因工程技术生产人胰岛素的操作过程示意图,请据图分析回答:
- 深圳海滨实验小学深圳湾部好不好 深圳所有公立小学名单
- 鞋子上写的US UK EU CM分别是什么意思? 比如说鞋子23码165是什么意思
- 泸州市2914年大病统筹报销款什么时候下来的 泸州市 统筹城乡
- 主板市场交易制度 创业板转签是什么意思
- 菊花茶可以每天都喝吗 菊花茶能天天喝吗