JAVA类C++指针使用
来源:互联网 发布:lte中mr优化案例 编辑:程序博客网 时间:2024/06/06 18:16
一开始学习的是C++,然后学习java时就了解到java是不存在指针这个东西的,然后就想到那java里数据的对应关系怎么搞呢?之后就糊里糊涂地过去了,现在看到clone方法,就简单从clone方法了解了一下java的“类指针”。
基础知识:java对对象的处理和基本类型数据的处理不一样,java中入口对象参数是缺省为引用调用,也就是说仅仅传递了对象的一个引用,而不是创建了一个新对象。因此对方法中对对象进行处理时,就是在修改原对象。顺便总结——List<Map> 循环取值修改时也是直接修改了list中的对象。
java中一般使用clone方法来复制对象,首先需要知道想要使用clone方法的类必须要implement Cloneable抽象类。 clone主要有三种:浅复制、深度复制、clone彻底。
浅复制(影子clone):复制类中的基本类型数据。
public class Test implement Cloneable{
public String name;
public Object clone(){
Test test=null;
try{
test=(Test)super.clone();
}catch(Exception e){
e.printStackTrace();
}
return test;
}
}
深度复制:如果是数组或者是复杂类型就需要重定义复制过程。不然就相当与引用,共用一个数据。
如上面的例子,多一个String[] nameArray[10];那就需要在调用父方法后使用
test.nameArray=(String[])nameArray.clone();
clone彻底:当存在存储对象的容器时,如vector。eg:Vector<B> vector;
test.vector=new Vector<B>();
for(int i=0;i<vector.size();i++){
B temp=vector.get(i).clone();
test.vector.add(temp);
}
- JAVA类C++指针使用
- C#里使用指针
- C中指针使用
- 【C++】指针的使用
- C指针使用注意事项
- c语言指针使用
- C |java 指针|引用
- 引用,指针,C++,java
- c语言指针的指针使用
- C中的函数指针使用
- C中的函数指针使用
- C语言 指针的使用
- C语言指针使用陷阱
- 使用C指针颠倒字符串
- C函数指针的使用
- C语言指针使用总结
- C语言指针使用小结
- c 双指针的使用
- WIN+*组合键失效.解决办法.
- C++基础积累(1)using namespace potter 自定义命名空间和使用
- JSON.parse()和JSON.stringify()
- [BZOJ3837][Pa2013][随机][乱搞]Filary
- python文件处理:解析.xml文件
- JAVA类C++指针使用
- LEETCODE 45. Jump Game II
- IDOC的处理函数IDOC_INPUT_ORDERS的增强点的分析
- Android 使用极光/友盟推送,APP进程杀死后为什么收不到推送
- Android实现倒计时功能
- 给ProgressBar 设置圆形进度条颜色
- Xposed入门浅析
- oracle dead lock
- 帧动画的实现