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

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

相关推荐

  1. 使用kafka场景

    2024-06-13 13:18:03       14 阅读
  2. logstash和elasticsearch交互接口

    2024-06-13 13:18:03       23 阅读
  3. gd32F303串口接收方式

    2024-06-13 13:18:03       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-13 13:18:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-13 13:18:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-13 13:18:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-13 13:18:03       20 阅读

热门阅读

  1. HTML下雪/烟花

    2024-06-13 13:18:03       6 阅读
  2. 关于windows脚本的一些东西

    2024-06-13 13:18:03       10 阅读
  3. Python有哪些经典的常用库?

    2024-06-13 13:18:03       13 阅读
  4. 聊聊JetCacheProxyConfiguration

    2024-06-13 13:18:03       10 阅读
  5. 测试面试点

    2024-06-13 13:18:03       8 阅读
  6. 【星海随笔】ELK优化

    2024-06-13 13:18:03       6 阅读
  7. [EFI]NUC11电脑 Hackintosh 黑苹果efi引导文件

    2024-06-13 13:18:03       10 阅读
  8. 13. FastLED 示例3则

    2024-06-13 13:18:03       7 阅读
  9. gitlab下载及安装

    2024-06-13 13:18:03       8 阅读
  10. 2024年6月关于docker拉取镜像超时失败问题解决

    2024-06-13 13:18:03       12 阅读