为了账号安全,请及时绑定邮箱和手机立即绑定

考虑如下代码段,该代码段的输出为:()?

考虑如下代码段,该代码段的输出为:()?

慕妹3242003 2022-06-30 12:11:29
14、考虑如下代码段:1. ArrayList<ObjectOne> list = new ArrayList<ObjectOne>();2. list.Add(new ObjectOne());3. list.Add(new ObjectOne());4. list.Add(new ObjectOne());5. Collections.sort(list);6. class ObjectOne {7. private int x = 0;8. private int y = 0;9. }该代码段的输出为:()A) 编译时第5行报错B) 运行时第5行出错C) 编译时第3行出错D) 运行时第3行出错
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

你好,答案是A,你放代码复制到Eclipse或者Netbeans里,保存时它就提示第五行有错
Eclipse里的错误提示是:
边界不匹配:类型 Collections 的通用方法 sort(List<T>)不适用于参数(ArrayList<ObjectOne>)。推断类型 ObjectOne 并不是有界参数 <T 到 Comparable<? super T>> 的有效替代项。
如果要修改成正确的话,把第一行ArrayList<ObjectOne> list = new ArrayList<ObjectOne>();改为ArrayList list = new ArrayList<ObjectOne>();即可

查看完整回答
反对 回复 2022-07-05
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

Collections中的sort()方法,接收一个泛型List<T>,但前提是T需要实现Comparable接口,也就是说你自己写的ObjectOne这个类需要implements Comparable,实现
public int compareTo(ObjectOne o)这个方法,一般法则就是相等返回0,大于返回1,小于返回-1!按你这个类的需求去实现。然后才可以sort()

查看完整回答
反对 回复 2022-07-05
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

A编译第5行报错,还真是不了解这个,刚试了一下,第五行编译报错

查看完整回答
反对 回复 2022-07-05
  • 3 回答
  • 0 关注
  • 247 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号