已采纳回答 / 刘瞻远
initCause()这个方法就是对异常来进行包装的,目的就是为了出了问题的时候能够追根究底。因为一个项目,越往底层,可能抛出的异常类型会用很多,如果你在上层想要处理这些异常,你就需要挨个的写很多catch语句块来捕捉异常,这样是很麻烦的。如果我们对底层抛出的异常捕获后,抛出一个新的统一的异常,会避免这个问题。但是直接抛出一个新的异常,会让最原始的异常信息丢失,这样不利于排查问题。举个例子,在底层会出现一个A异常,然后在中间代码层捕获A异常,对上层抛出一个B异常。如果在中间代码层不对A进行包装,在上层代码...
2017-09-05
已采纳回答 / qq_原点_29
public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (name == null) { if (other.name != null) return false; } else if (!nam...
2017-09-05
已采纳回答 / 慕粉3877093
这个students应该是map对象吧?对应的泛型是<id,student>,就是说key是id,value是一个student对象,这样get(id)获取的就是student对象了。
2017-09-04
已采纳回答 / Justeasy
有参构造方法用来实例化Course对象时对其属性赋值.例如:Course c = new Course("1","高数") //有参构造方法如果是无参构造方法 Course c = new Course(); 此时属性 id 和 name都被系统默认为0
2017-09-01
最赞回答 / 柠檬口味冰红茶
添加字符串进去的时候是没问题的,只是后来在取出集合中的元素时,需要将集合中的元素强制类型转换为course,这个时候原来的字符串虽然现在也是Object类,但是没办法被转换成course,所以才报错
2017-09-01
已采纳回答 / LpBigBoy
存进去的是Course类型的数据,取出来的时候肯定要拿这种类型的变量来装数据啊,因为集合里面存的数据默认是Object类型的,前面加个(Course)就表示取出来的是一个Course类型的对象;
2017-09-01