已采纳回答 / Tuboss
原因出在你的第二行代码用于用的addAll(1, Arrays.asList(courses2));的方法,你这行代码的意思是讲课程数组courses2中的两门课程从“1”这个位置开始放,也就是说:你添加的高等数学,和大学英语就位于课程列表的1和2位置上;此时你前面添加的3和4位置的上的离散数学和汇编语言就被挤在5和6的位置,然后你调用你截图中的3、4行代码。自然获取就是离散数学和汇编语言;;在分析你输出结果的第三行内容。按照惯性思维会认为输出原来1、2位置上被挤下来的两门课也就是(C语言和离散数学);但...
2015-10-05
最新回答 / 伊兮尘昔
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。 Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条...
2015-10-05
最赞回答 / Zhenyu1990
我也在想这个问题。自己猜的是因为你根本就无法确定是否有对应的学生存在,也就不可能去判断这个学生的ID。因此将ID设置为null。而且在后面重写Student类的equals()和hashCode()时,仅仅对name一项做了判断而没有判断id。