首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java linkedlist clone() 函数存在的必要性,该怎么处理

2013-09-04 
java linkedlist clone() 函数存在的必要性如题:Eg:import java.util.*public class linkedListCloneTask

java linkedlist clone() 函数存在的必要性
如题:
Eg: 
   import java.util.*;

   public class linkedListCloneTask{

   public static void main(String[] args) {

      // create a LinkedList
      LinkedList list1 = new LinkedList();

      // add some elements
      list1.add("Hello");
      list1.add(2);
      list1.add("Chocolate");
      list1.add("10");

      // print the list
      System.out.println("LinkedList 1:" + list1);

      // create a second LinkedList
      LinkedList list2 = new LinkedList();

      // clone list1
      list2 = (LinkedList) list1.clone() ; 
      // 这里注意,有没有.clone()结果都是一样的,那还要.clone()做什么,求解!

      // print list2
      System.out.println("LinkedList 2:" + list2);
   }
}

//*****************结果********************
//LinkedList 1:[Hello, 2, Chocolate, 10]
//LinkedList 2:[Hello, 2, Chocolate, 10]
//****************************************
list2 = (LinkedList) list1
见截图 
java linkedlist clone() 函数存在的必要性,该怎么处理
亲,你的这个很明确清晰,我想知道的是这样多划一份内存有什么用,最后实现的目的不还是使得List2拥有List1的值么?求大神进一步解答~3Q



还是这张图说明下:
如下图,当List1和List2指向一块内存时,那么其中一个数组值被改变,另一个也会一同被修改,有些需求往往不像这样做,那么Java的API就为我们提供了clone方法。
java linkedlist clone() 函数存在的必要性,该怎么处理
如下图,将同样的数组List1拷贝出一份一样的只不过是在2块不同的内存空间,这样我怎么改List2都不会影响到List1。这就是它们的区别。
java linkedlist clone() 函数存在的必要性,该怎么处理

热点排行