如果不覆盖equals这个函数而是自己建造另一个函数(不同名称)可以吗?
来源:2-5 使用自定义类测试我们的算法
慕少8265238
2020-10-08 07:36:05
老师同学们好,我想请问如果不覆盖equals这个函数而是自己建造另一个函数(不同名称)可以吗?
这样做和覆盖equals这个函数各有什么优点和缺点呢?
1回答
可以。但是,你需要创建一个新的接口或者父类,然后再告诉用户,使用的我这种查找算法的话,相应的元素必须继承这个父类或者实现这个接口。
但是,equals 方法是 Object 内置的方法,就不需要这些工作了。对 Java 内置的对象,如 Integer,String 等,也都直接支持。
如果你想体验这一点,你可以尝试:
1)按照你的想法,创建一个使用你自己的函数做等于功能的 LinearSearch 类;
2)试一试,如何使用你自己的这个 LinearSearch,查找一个 Integer 数组?如何查找一个 String 数组?如何查找一个 Student 类数组?自己再设计一个比如 Dog 类,看看如何查找一个 Dog 类的数组?
3)比较一下二者。用实践的方式,再体会一下,为什么使用内置的 equals 更方便?
加油!:)
继续加油!:)
相似问题