Javaclone方法的使用Java认证考试
文章作者 100test 发表时间 2010:01:24 17:38:17
来源 100Test.Com百考试题网
这几天在编程的过程中突然发现自己对java的参数传递理解不是很到位,导致编程过程中出现了一些问题。主要是对集合类的传递没引起注意,后来经过对克隆机制的学习,终于解决了问题。
需要注意的是:如是A类需要用到B类的对象成员变量(如一个ArrayList),最好引用的时候先保存一下原来的值,然后新建一个对象,把需要引用的clone过来,在这基础上作修改。这样无论是恢复还是保存结果都比较容易。
下面引用网上找到的关于clone比较好的一篇文章。
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c 后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:
Java代码
public class A {
public String name.
}
Java代码
public class testClone {
public void changeA(A a){
a.name="b".
}
public void changInt(int i){
i=i*2 100.
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
testClone test=new testClone().
A a=new A().
a.name="a".
System.out.println("before change : a.name=" a.name).
test.changeA(a).
System.out.println("after