泛型继承接口的问题

泛型继承接口的问题

为啥泛型要继承接口comparable呢?为啥只有这样才能调用compareTo,按理说包装类都有compareTo操作,包括string。而且接口的comparable的compareTo是抽象方法,按理说是要重写的呀!spacer.gifhttps://img1.sycdn.imooc.com//climg/623de55108ab80bb14441920.jpgspacer.gif



下载视频          

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2022-03-26 13:45:59

同学你好

1、这里是表示自定义泛型方法,同学的代码中E[] arr是自定义类,E extends Comparable<E>是表示类型E必须继承Comparable 接口,并且这个接口的类型是E,所以在下面调用sort()方法时才可以传入Integer包装类,同学可以试试传入int类型的数组,是会报错的

2、如果E没有extends Comparable<E>,在下面的方法中程序不能确定参数是否可以调用compareTo(),所以必须extends Comparable<E>

3、E实现了comparable接口就已经替我们重写了compareTo()方法,所以无需我们自己重写了

祝学习愉快~


  • 提问者 慕姐8370753 #1

    comparator这个接口,我看API,compare和equal都是抽象方法,为啥我们只需要重写compare就行呢?

    2022-03-26 17:08:35
  • 好帮手慕阿园 回复 提问者 慕姐8370753 #2

    同学你好,所有类默认继承Object,而Object类中已经实现了equals方法,就相当于该类中实现了equals方法,所以就不用我们再重写了

    祝学习愉快~


    2022-03-26 18:18:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师