请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于老师java代码中的疑问

第二章的02-Selection-Sort-Using-Comparable中的java代码,在StudentSort类中,sort方法中的参数是Comparable[],swap方法中的参数是Object[],       Comparable[]和Object[]有什么区别吗?为什么不都用Object[]或者都用Comparable[]

正在回答

1回答

liuyubobobo 2018-01-17 02:17:40

Comparable是实现了Comparable接口的类,指“可比较”的类;Object是所有的类的父类。


在这里,对一个数组进行sort,元素必须是“可以比较”的,所以传给sort的数组是Comparable[]的;但是交换数组中的两个元素,对这个数组中的元素是没有“可比较”的要求的。不过鉴于我们的swap方法是放在Sort类里面的,将swap方法中的数据改为Comparable[]是可以的;但是反之不可以。


如果想设计一个Utility类,其中有一个方法是swap,此时传入的数组应该是Object[]的。用户没有必要为了可以交换数组中的两个元素,而让数组中的元素一定“可以比较”。

2 回复 有任何疑惑可以回复我~
  • 提问者 mly魉 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-01-17 10:29:47
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信