java Comparable 和 Cloneable接口
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接口相关推荐
- Comparable+Comparator+Cloneable接口
文章目录 Comparable Comparator Cloneable 浅拷贝 深拷贝 Comparable 当我们需要对一个自己写的类进行排序(Collections.sort和Arrays.so ...
- Java中的Cloneable接口
1.Cloneable接口的作用 Cloneable是标记接口(其方法体为空),它用来表示一个类拥有某些希望具有的特征.实现Cloneable接口的类被标记为可克隆的,而且其对象可以使用Object类 ...
- java语言之Cloneable接口
在我们学习过程中,会发现java很多非常重要的接口,比如Cloneable,Serializable,Comparable等等之类的,今天我就总结一下Cloneable接口. 我学习到现在觉得最好的学 ...
- java cloneable_java开发——Cloneable接口、clone()方法和深浅拷贝
1.实现Cloneable接口表明该类的对象是允许克隆的. 2.允许克隆的意思是:可以调用clone()方法. 3.深拷贝还是浅拷贝,取决于如何重写Object的clone()方法. 4.原对象和克隆 ...
- java的cloneable_Java的Cloneable接口和clone方法
1. 克隆的用处 在日常编码中我们经常需要产生某个对象的副本,这里的副本并不是指向同一个对象的不同引用,而是与当前对象状态一模一样的另一个新的对象.如果使用单纯的引用赋值,会发生什么效果呢? 我们可以 ...
- java cloneable 接口_Cloneable 接口 记号接口(标记接口)
Cloneable 接口指示了一个类提供了一个安全的clone方法. 首先了解Object.clone()方法: clone是Object超类的一个protected方法,用户代码不能直接调用这个方法 ...
- 【Java】Cloneable 接口讲解 (包含浅拷贝与深拷贝不一样的实现讲解)
在Java中除了new关键字可以创建对象(实例化对象)以外,使用Cloneable接口也可以实现对象的创建,具体用法如下: Cloneable接口比较特殊,虽然他是一个口接口,但是我们也必须重写clo ...
- java comparable接口_Java面试题之Java集合篇三
Java面试题之Java集合篇三1.HashMap和HashTable有何不同? (1)HashMap允许key和value为null,而HashTable不允许. (2)HashTable是同步的, ...
- Java中Comparable和Comparator接口区别分析
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...
- java中closeable_java的Closeable接口和Cloneable接口
概述 java的Closeable和Cloneable两个接口,一字之差,但是要完成的功能却基本没有什么联系.最大的相同点在于,这两个就是java基本类库有特殊处理的接口,不按规则来,加班两行泪. C ...
最新文章
- 嵌入式linux应用程序升级,基于嵌入式Linux平台的应用升级机制的研究与设计
- 《深度学习,统计学习,数学基础》人工智能算法工程师手册:程序员写的AI书,50 章一网打尽...
- 【安全漏洞】CVE-2021-1732 win32k漏洞分析
- 快速读书的方法(对于理工科的可能适用)
- 一探即将到来的 C# 10
- Flask笔记-通过Model访问数据库
- linux对于文本的操作,Linux文本文件操作
- 电力设计手册_电气设计负荷计算方法
- 鸟书shell 学习笔记(一) shell专注于概念和命令
- CSDN、博文视点名家讲坛之夏昕、林信良谈Spring框架
- SpringCloud微服务之学生管理
- Latex 数学符号和公式模板整理
- 洛谷 P1566 加等式
- 写下第一个linux内核
- Qt Quick实现的涂鸦程序
- 关于在校专利软著申请一二事
- 网站诊断报告之基本分析
- 能源互联网计划望本月底下发 聚焦能源大数据
- 《安卓最佳免费应用》摘要版 2012年8月版
- java解压zip文件,处理文件名不能为中文
热门文章
- ubuntu下安装python的gevent模块遇到的一个问题
- phpmyadmin提示SELECT `prefs` FROM `phpmyadmin`.`pma_table_uiprefs` ······
- 如何用js判断浏览器中是否安装有flash插件
- 重新认识margin-top和margin-bottom
- php 写入.csv文件注意点
- 条形码、二维码的区别和组成结构介绍
- Js获取或计算时间的相关操作
- Proto3 Any与Oneof(转载)
- xtrabackup mysql 5.1_编译支持mysql-5.1.73版本的xtrabackup
- 旋转链表 Java,leetcode 旋转链表 Java