首页 > 编程语言 > 详细

JAVA-深拷贝/浅拷贝 比较器

时间:2015-01-04 09:56:52      阅读:288      评论:0      收藏:0      [点我收藏+]
只有基础内置元素=才会深拷贝(String不是)
你定义的类如果需要深拷贝,要rewrite Cloneable的Clone方法
若是继承关系,父类也要重写。
①为什么我们在派生类中覆盖Object的clone()方法时,一定要调用super.clone()呢?在运行时刻,Object中的clone()识别出你要复制的是哪一个对象,然后为此对象分配空间,并进行对象的复制,将原始对象的内容一一复制到新对象的存储空间中。 
继承自java.lang.Object类的clone()方法是浅复制。


比较器 要重写Comparator接口中compare方法
import java.io.*;
import java.net.*;
import java.util.*;

public class Test{
 public static void main(String args[]) throws Exception{
  TreeMap<String,Integer> mm=new TreeMap<String,Integer>(new Comparator(){
   public int compare(Object a,Object b){
    String aa=(String)a;
    String bb=(String)b;
    return bb.compareTo(aa);
   }
  });
  mm.put(new String("a"),new Integer(23));
  mm.put("b",new Integer(31));
  Set<Map.Entry<String,Integer>> set=mm.entrySet();
  System.out.println (set);
  System.out.println (mm.keySet());
 }
}

JAVA-深拷贝/浅拷贝 比较器

原文:http://blog.csdn.net/gg_gogoing/article/details/42387025

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!