关于string的一段代码
来源:互联网 发布:我的世界贴吧手机版js 编辑:程序博客网 时间:2024/05/20 07:35
public class StringTest { String str = "zhangqiang"; char[] ch = {'a','b','c'}; public static void main(String[] args) { StringTest st = new StringTest(); exchange(st.str,st.ch); System.out.println(st.str+" and "); System.out.println(st.ch); } private static void exchange(String str, char[] ch) { // TODO Auto-generated method stub str = "zq"; ch[0] = 'g'; }}
理解:
String str = “zhangqiang”;String作为引用类型,当这句话执行时(假设串池为空)首先会创建一个实例(具有自己的地址)同时 在串池中赋值,同理char[]为数组类型,也会创建自己的数组空间(具有自己的地址),当调用exchange方法时, 对于参数变量str来说,相当于有一个String变量str(只不过名字相同)指向成员变量str(实际是指向成员变量的地址);
而对于str = “zq”;相当于str重新创建了自己的实例(自己的地址,和上面的地址不同),该地址空间中存放的是“zq”; 所以当输出st.str实际取得的是成员变量的地址,当然会输出“zhangqiang”;
而ch[0]=’g’;他只是改变了该char[]数组对象的一部分,并不会对地址有影响,改变的是其中的一部分内容而已。
0 0
- 关于string的一段代码
- 关于回文的一段代码
- 关于Const的一段代码
- 一段关于webGL的代码
- 关于kdtree的一段代码
- 一段关于linq的代码
- 一段关于tableViewController的代码
- 关于数组的一段代码
- 一段关于静态的代码
- 关于线程池的一段代码
- opencv关于摄像机标定的一段代码
- 关于bitset 的一段代码--初级
- 关于线程信号量的一段小代码
- 关于+—~有意思的一段C代码
- teechart 上的 关于Custom axes的一段代码
- 一段关于带阴影的UIView切圆角的代码
- 关于com解释的一段代码,你懂的
- 一段代码的欣赏--------关于super.xx()方法的使用
- 简简单单的排序算法
- Leetcode 5. Longest Palindromic Substring 解题报告
- SQL查询之联结查询和子查询
- objc category的秘密
- java hdu2014青年歌手大奖赛_评委会打分
- 关于string的一段代码
- C++子父类成员之间相互访问的权限分析
- 决策树
- 关于获取imageview上的图片,保存到相册并通知相册自动更新
- git、Gradle、NDK、依赖及补充
- TCP连接的状态详解以及故障排查
- HashMap实现原理分析
- JDK源码解析之List和Set接口
- 文章标题