Comparable接口定义了compareTo方法,用于比较对象。

例如,在JavaAPI中,Integer、BigInteger、String以及Date类定义如下

Cloneable接口

Cloneable接口给出了一个可克隆的对象。

若要出现需要创建一个对象拷贝的情况。为了这个目的,需要使用clone方法

Cloneable定义如下:

直接调用clone()话,对象里面的基本类型数据会直接复制,但引用类型数据,是复制他的引用,这称为浅复制,不是深复制

package test;import java.util.Date;public class House implements Cloneable,Comparable{private int id;private double area;private Date whenBuilt;public House(int id,double area) {// TODO Auto-generated constructor stubthis.id = id;this.area = area;whenBuilt = new Date();}public int getId() {return id;}public double getArea() {return area;}public Date getWhenBuilt() {return whenBuilt;}public Object clone() throws CloneNotSupportedException{return super.clone();}@Overridepublic int compareTo(Object o) {// TODO Auto-generated method stubif(area > ((House)o).area) {return 1;}else if(area < ((House)o).area) {return -1;}else {return 0;}}public static void main(String [] args) throws CloneNotSupportedException {House house1 = new House(1, 1750.50);House house2 = (House) house1.clone();}}

  

这个例子就是直接调用clone() 所以whenbuilt 地址是一样的,内容也一样

若把clone()改为这样

whenBuilt 地址就不一样了 ,内容一样

转载于:https://www.cnblogs.com/zquan/p/9339244.html

java Comparable 和 Cloneable接口相关推荐

  1. Comparable+Comparator+Cloneable接口

    文章目录 Comparable Comparator Cloneable 浅拷贝 深拷贝 Comparable 当我们需要对一个自己写的类进行排序(Collections.sort和Arrays.so ...

  2. Java中的Cloneable接口

    1.Cloneable接口的作用 Cloneable是标记接口(其方法体为空),它用来表示一个类拥有某些希望具有的特征.实现Cloneable接口的类被标记为可克隆的,而且其对象可以使用Object类 ...

  3. java语言之Cloneable接口

    在我们学习过程中,会发现java很多非常重要的接口,比如Cloneable,Serializable,Comparable等等之类的,今天我就总结一下Cloneable接口. 我学习到现在觉得最好的学 ...

  4. java cloneable_java开发——Cloneable接口、clone()方法和深浅拷贝

    1.实现Cloneable接口表明该类的对象是允许克隆的. 2.允许克隆的意思是:可以调用clone()方法. 3.深拷贝还是浅拷贝,取决于如何重写Object的clone()方法. 4.原对象和克隆 ...

  5. java的cloneable_Java的Cloneable接口和clone方法

    1. 克隆的用处 在日常编码中我们经常需要产生某个对象的副本,这里的副本并不是指向同一个对象的不同引用,而是与当前对象状态一模一样的另一个新的对象.如果使用单纯的引用赋值,会发生什么效果呢? 我们可以 ...

  6. java cloneable 接口_Cloneable 接口 记号接口(标记接口)

    Cloneable 接口指示了一个类提供了一个安全的clone方法. 首先了解Object.clone()方法: clone是Object超类的一个protected方法,用户代码不能直接调用这个方法 ...

  7. 【Java】Cloneable 接口讲解 (包含浅拷贝与深拷贝不一样的实现讲解)

    在Java中除了new关键字可以创建对象(实例化对象)以外,使用Cloneable接口也可以实现对象的创建,具体用法如下: Cloneable接口比较特殊,虽然他是一个口接口,但是我们也必须重写clo ...

  8. java comparable接口_Java面试题之Java集合篇三

    Java面试题之Java集合篇三1.HashMap和HashTable有何不同? (1)HashMap允许key和value为null,而HashTable不允许. (2)HashTable是同步的, ...

  9. Java中Comparable和Comparator接口区别分析

    本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...

  10. java中closeable_java的Closeable接口和Cloneable接口

    概述 java的Closeable和Cloneable两个接口,一字之差,但是要完成的功能却基本没有什么联系.最大的相同点在于,这两个就是java基本类库有特殊处理的接口,不按规则来,加班两行泪. C ...

最新文章

  1. 嵌入式linux应用程序升级,基于嵌入式Linux平台的应用升级机制的研究与设计
  2. 《深度学习,统计学习,数学基础》人工智能算法工程师手册:程序员写的AI书,50 章一网打尽...
  3. 【安全漏洞】CVE-2021-1732 win32k漏洞分析
  4. 快速读书的方法(对于理工科的可能适用)
  5. 一探即将到来的 C# 10
  6. Flask笔记-通过Model访问数据库
  7. linux对于文本的操作,Linux文本文件操作
  8. 电力设计手册_电气设计负荷计算方法
  9. 鸟书shell 学习笔记(一) shell专注于概念和命令
  10. CSDN、博文视点名家讲坛之夏昕、林信良谈Spring框架
  11. SpringCloud微服务之学生管理
  12. Latex 数学符号和公式模板整理
  13. 洛谷 P1566 加等式
  14. 写下第一个linux内核
  15. Qt Quick实现的涂鸦程序
  16. 关于在校专利软著申请一二事
  17. 网站诊断报告之基本分析
  18. 能源互联网计划望本月底下发 聚焦能源大数据
  19. 《安卓最佳免费应用》摘要版 2012年8月版
  20. java解压zip文件,处理文件名不能为中文

热门文章

  1. ubuntu下安装python的gevent模块遇到的一个问题
  2. phpmyadmin提示SELECT `prefs` FROM `phpmyadmin`.`pma_table_uiprefs` ······
  3. 如何用js判断浏览器中是否安装有flash插件
  4. 重新认识margin-top和margin-bottom
  5. php 写入.csv文件注意点
  6. 条形码、二维码的区别和组成结构介绍
  7. Js获取或计算时间的相关操作
  8. Proto3 Any与Oneof(转载)
  9. xtrabackup mysql 5.1_编译支持mysql-5.1.73版本的xtrabackup
  10. 旋转链表 Java,leetcode 旋转链表 Java