已采纳回答 / 刘瞻远
initCause()这个方法就是对异常来进行包装的,目的就是为了出了问题的时候能够追根究底。因为一个项目,越往底层,可能抛出的异常类型会用很多,如果你在上层想要处理这些异常,你就需要挨个的写很多catch语句块来捕捉异常,这样是很麻烦的。如果我们对底层抛出的异常捕获后,抛出一个新的统一的异常,会避免这个问题。但是直接抛出一个新的异常,会让最原始的异常信息丢失,这样不利于排查问题。举个例子,在底层会出现一个A异常,然后在中间代码层捕获A异常,对上层抛出一个B异常。如果在中间代码层不对A进行包装,在上层代码...
2017-09-05
//在student类中重写comparable方法时,应该把id的类型转换一下,避免 “12>111” 的情况发生
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
Integer.valueOf(this.id);
Integer.valueOf(o.id);
return this.id.compareTo(o.id);
}
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
Integer.valueOf(this.id);
Integer.valueOf(o.id);
return this.id.compareTo(o.id);
}
2017-09-05
一个看在门卫看门的老大爷,凭着不服输的精神,在学习java,希望大家给我一点鼓励,让我有坚持下去的勇气~
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
Error是系统错误类, VirtualMachineError 是Error的子类,Thread是线程类,Exception是异常类,自定义异常要继承于Exception类或者其子类
已采纳回答 / 慕粉3877093
这个students应该是map对象吧?对应的泛型是<id,student>,就是说key是id,value是一个student对象,这样get(id)获取的就是student对象了。
2017-09-04