用html做个人网站代码,郑州电力高等专科学校就业去向,开一个电商公司大概多少钱,网站排名优化平台0#xff1a;前言
在基本数据类型中#xff0c;我们可以直接使用号比较是否相等#xff0c;还记的学堆哪里时候#xff0c;插入一个数据#xff0c;就会与其他数据进行比较#xff0c;当时我们传入的是Integer类型#xff0c;在Integer类里面已经实现了compare。 如果…0前言
在基本数据类型中我们可以直接使用号比较是否相等还记的学堆哪里时候插入一个数据就会与其他数据进行比较当时我们传入的是Integer类型在Integer类里面已经实现了compare。 如果我们要传入自定义类型呢 我们执行一下 这是因为Student类中没有实现比较的方法。
1基本数据的比较
基本数据比较直接可以用及其他比较符号直接比较。
2引用型数据比较 我们发现引用类型无法使用 ,号进行直接比较会报错为什么 可以比较呢因为对于用户实现自定义类型都默认继承自Object类而Object类中提供了equal方法而默认情况下调用的就是equal方法但是该方法的比较规则是没有比较引用变量引用对象的内容而是直接比较引用变量的地址
2.1比较对象的内容
有时候我们要比较对象的内容那怎么比较呢
2.1.1覆写equals 覆写基类equal的方式虽然可以比较但缺陷是equal只能按照相等进行比较不能按照大于、小于的方式进行比较。
2.1.2基于Comparble接口类的比较
对用用户自定义类型如果要想按照大小与方式进行比较时在定义类时实现Comparble接口即可然后在类中重写compareTo方法。
2.2.3 基于比较器比较
用户自定义比较器类实现Comparator接口
2.1.4 三种方式对比
覆写的方法说明Object.equals因为所有类都是继承自 Object 的所以直接覆写即可不过只能比较相等与否Comparable.compareTo需要手动实现接口侵入性比较强但一旦实现每次用该类都有顺序属于内部顺序Comparator.compare需要实现一个比较器对象对待比较类的侵入性弱但对算法代码实现侵入性强