您的位置:首页 > 新闻 > 会展 > ----几种接口的使用---

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

2025/10/19 16:42:04 来源:https://blog.csdn.net/hadage233/article/details/139580614  浏览:    关键词:----几种接口的使用---

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com