----几种接口的使用---

news2024/11/27 9:44:40

Compareable接口

对于给数组中的变量成员排序,我们能想到用sort,根据成员之间的大小进行排序,那么如果数组中的成员是对象的话,单单只是用sort去排序肯定是步成功的,因为并不知道要根据什么去排序,

这时要使用就要Compareable接口,并重写其中的compareTo方法,这样排序就会根据你写的方法来排序

compareTo这个方法的返回值是int类型的,如果你想要按照升序的方法排序,那么就返回一个大于0的数,降序则是一个小于0的值,这里Compareable接口里面已经是实现了排序的方法,而这个方法是根据compareTo这个方的放回值来确定排序的升降

Comparator接口也能实现该操作,且能比Comparable要简便,且更加的灵活

sort能传入一个使用了comparator接口的

,再进行排序时就会根据传入对象中的compare方法去对数组成员进行排序,而comparable接口在重写了compareTo方法后,排序的顺序就已经确定了,不能灵活的去选择排序方法

Cloneable接口

Cloneable接口可以用来拷贝对象

具体实现

1,要使用这个接口        2,在之类中国重写这个方法       

3,在mian函数的后面加上   throws CloneNotSupportedException 这个的意思的向程序上声明说这里可能胡有个叫CloneNotSupportedException的异常(敬请期待)

4,clone这个方法的返回值为object类,在赋值时需要强转为clone_this

clone方法是把成员都拷贝到一个新的空间,但如果拷贝的类里面有类的话,只会拷贝这个类的地址

结果是把着三个类中的new_name都改了,说明这个类并没有被克隆,那如果要clone这个类的话,就要使用深拷贝了

深拷贝就是在Name这个类里面也实现克隆这个接口,然后再clone_this里面克隆这个Name类

先拷贝外面这个clone_this类这时就完成了成员的克隆,但是这时clone_this这个类里面中的Name这个类并没有被克隆,那么就通过new_name调用clone这个方法,并件克隆好的对象在赋值给new_name

Object类

在java中所有类都默认继承了Object类,也可以说Object类是所有类的父类,可以用object类去接收所有类,发生向上转型

equal 方法

若用equal去比较俩个类,那么比较的其实是类的地址

那么如过要根据具体类里面的成员去比较,那么就要重写这个方法

所以在比较俩对象中的成员是否相同,一定要重写equal方法

hashcode方法重写

hashcode

当我们调用了hashcode方法,他会根据内置的算法给我们算出一个具体的数,可以理解为地址

那么如果我们想要根据对象的成员来判断是否相同,那么就要重写这个方法

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RNA-seq上下游分析snakemake流程

学习完snakemake后写的第一个流程是RNA-seq上游定量和下游的质控和差异分析。 使用fastp处理fastq文件,在使用START比对到基因组同时得到raw count,使用非冗余外显子长度作为基因的长度计算FPKM、TPM,同时也生成了CPM的结果。 非冗余外显子…

6.nginx负载均衡

说明 增加服务器的数量,将请求分发到各个服务器上。 将原来请求集中到单个服务器上的情况改为将请求分发到多个服务器上。 案例 浏览器请求地址http://ip/edu/a.html, 负载均衡的效果,平分到8080和8081两台服务上中。 准备工作 tomcat8080配置 tomcat8081配置 直接通过…

服务器通的远程桌面连接不上,服务器通的远程桌面连接不上解决方法

当面临服务器远程桌面连接不上的问题时,专业的处理方式需要遵循一系列步骤来确保问题得到准确且高效的解决。以下是一些建议的解决方法: 一、初步排查与诊断 1. 检查网络连接: - 确保本地计算机与服务器之间的网络连接是稳定的。 - 尝…

上岸北科大计算机专业难度有多大?北京科技大学计算机考研考情分析!

北京科技大学计算机与通信工程学院源于1973年成立的计算机及应用专业,经过近40年的建设,学院在学科建设、科学研究水平和教育教学质量上实现了跨越式的发展与大力提升。学院目前设有计算机科学与技术系、软件工程系、通信工程系、物联网与电子工程系、信…

算法专题总结链接地址

刷力扣的时候会遇到一些总结类型的题解,在此记录,方便自己以后找 前缀和 前缀和https://leetcode.cn/problems/unique-substrings-in-wraparound-string/solutions/432752/xi-fa-dai-ni-xue-suan-fa-yi-ci-gao-ding-qian-zhui-/ 单调栈 单调栈https:…

python代码生成mac地址流水号工具

因为公司需要生成mac地址流水号,网上写的工具是用字符串拼接的方式,需要考虑很多情况会有遇到0缺位等问题,其实python本身支持大数字计算,所以只需要把用户输入的地址转换成int,直接for循环里面自增输出即可&#xff0…

【微信小程序】开发环境配置

目录 小程序的标准开发模式: 注册小程序的开发账号 安装开发者工具 下载 设置外观和代理 第一个小程序 -- 创建小程序项目 查看项目效果 第一种:在模拟器上查看项目效果 项目的基本组成结构 小程序代码的构成 app.json文件 project.config…

12.【Orangepi Zero2】基于orangepi_Zero_2 Linux的智能家居项目

基于orangPi Zero 2的智能家居项目 需求及项目准备 语音接入控制各类家电,如客厅灯、卧室灯、风扇回顾二阶段的Socket编程,实现Sockect发送指令远程控制各类家电烟雾警报监测, 实时检查是否存在煤气泄漏或者火灾警情,当存在警情时…

5.在Nginx中管理目录并允许浏览器中浏览和下载目录的文件

nginx.conf文件配置 charset utf-8; 防止文件名称为乱码。 autoindex on; 开启目录列表展示。 root /usr/local/software; 文件管理目录,浏览器浏览文件所在目录。

【C++进阶】RBTree封装map与set

1.红黑树的迭代器 1.1 begin() begin()就是红黑树的开头,那么对于红黑树来说按照中序序列是该树的最左节点。 Iterator Begin(){Node* leftMin _root;while (leftMin->_left){leftMin leftMin->_left;}return Iterator(leftMin);} 1.2 end() begin()就是…

阅文集团CEO侯晓楠:建立10亿生态扶持基金,为好内容搭建舞台

6月12日,由安徽省文化和旅游厅、安徽省文学艺术界联合会、黄山市人民政府指导,阅文集团、黄山旅游发展股份有限公司主办的2024阅文创作大会在黄山召开。 据「TMT星球」了解,大会总结了过去一年阅文在“AIIP”业务升级思路下创作生态和IP领域…

写给大数据开发:好的指标定义、特性与业务价值

在大数据时代,数据的质量对于业务决策和数据分析至关重要。好的数据不仅丰富,而且准确、及时,为业务提供有力支撑。 文章目录 数据定义与特性数据对业务的价值指标展示与规范化定义一些指标的定义好的数据是业务成功的关键 数据定义与特性 好…

pycharm终端pip安装模块成功但还是显示找不到 ModuleNotFoundError: No module named

报错信息: ModuleNotFoundError: No module named 但是分明已经安装过此模块: 在cmd运行pip list 查看所有安装过的包找到了安装过: 如果重新安装就是这样:显示已经存在了 问题排查: 直接根据重新安装的显示已存在的…

什么是APS计划排程? 企业产能与效率提升的智能引擎

快节奏和愈发激烈的现代工业环境中,如何提升生产效率、降低生产成本、最大化的满足订单交期、实现企业的降本增效,已成为众多企业关注的焦点。而APS系统——作为高级生产计划和调度系统的代表,正以其卓越的生产过程实时监控、产品加工过程优化…

初级网络工程师之从入门到入狱(三)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 中小型网络系统综合实战实验 前言一、详细拓扑图二、LSW2交换机三、LSW3交换机四、LSW1三层交换机4.1、4.2、4.3、4.4、4.5、…

【电子通识】为何焊接时要使用助焊剂?常用的助焊剂类型有哪些?

在工作中,我们会接触到板卡的焊接,会使用到助焊剂,如常常使用的就有松香。如下所示为焊接芯片时使用的拖焊,如果没有助焊剂,很有可能导致管脚连锡或有毛刺等现象出现。 那么助焊剂是什么?为什么它对焊接项目…

深度学习模型调试的9个方法

第一个计算机漏洞实际上是一个 bug。1947 年,一只飞蛾飞进哈佛大学的一台计算机,导致计算中断。当工程师打开计算机机箱时,他们很快就发现了导致问题的 bug。如今,bug 不太可能爬进我们的计算机并破坏计算流程。但是,原…

RedHat9 | 防火墙配置与管理

RedHat9中默认安装Firewalld,也可安装iptables。但是两者不可同时运行。 软件或程序主要作用firewalld、iptables策略限制MAC、IP、PORT、ARPSELinux上下文、布尔值、端口软件权限读写执行权限文件系统rwx、隐藏权限、ACL 1、Netfilter 包过滤防火墙工作在TCP/IP的…

【Java】JDBC+Servlet+JSP实现搜索数据和页面数据呈现

目录 1 .功能介绍 2. 实现流程 3. 项目环境 4. 相关代码 4.1 Maven配置 4.2 SQL语句 4.3 Java代码 4.4 HTML代码 4.5 JSP代码 5. 结果展示 (原创文章,转载请注明出处) 博主是计算机专业大学生,不定期更新原创优质文章&…

服务架构的设计原则

墨菲定律与康威定律 在系统设计的时候,可以依据于墨菲定律 任何事情都没有表面上看起来那么简单所有的事情都会比你预计的时间长可能出错的事总会出错担心的某一个事情的发送,那么它就更有可能发生 在系统划分的时候,可以依据康威定律 系…