已采纳回答 / lhtfreedom
initCause()这个方法就是对异常来进行包装的,目的就是为了出了问题的时候能够追根究底。因为一个项目,越往底层,可能抛出的异常类型会用很多,如果你在上层想要处理这些异常,你就需要挨个的写很多catch语句块来捕捉异常,这样是很麻烦的。如果我们对底层抛出的异常捕获后,抛出一个新的统一的异常,会避免这个问题。但是直接抛出一个新的异常,会让最原始的异常信息丢失,这样不利于排查问题。举个例子,在底层会出现一个A异常,然后在中间代码层捕获A异常,对上层抛出一个B异常。如果在中间代码层不对A进行包装,在上层代码...
2018-03-08
已采纳回答 / XAGT
大哥,你输入要放在try内面呀。
已采纳回答 / 精慕门6552492
for循环的情况下,在你输入两次一样的id,两次都会进行i++操作,而使用while循环的情况下,当你第二次输入同样的id是,会continue继续下一次循环,而没有把这次重复的id作为一次i++;
2018-03-05
已采纳回答 / GDHGN
其实呢,在第一次使用字符串引用的使用,也是通过new来创建字符串的,只是隐式的new一个字符串对象,在你第二次使用同一个字符串的时候,会查找堆内存中有没有和该字符串一样的,如果有就直接引用这个堆中已经有的字符串对象,如果没有,还是会new一个;而直接使用new的方法,创建字符串,是不管堆中有没有,直接创建一个新的对象,所以在比较的时候,都是false;
2018-02-28
最赞回答 / 执念messi
public class StringBuilderll { public static void main(String[] args) { // 创建一个空的StringBuilder对象 StringBuilder str = new StringBuilder(); // 追加字符串 str.append("jaewkjldfxmopzdm"); // 从后往前每隔三位插入逗号 for(int i= str.length()-3;i&...
2018-02-12
已采纳回答 / 慕移动7265888
ListTest中 的某某.add 这里的某某指的是 集合 例如 coursesToSelect.add(...) SetTest中的 某某.某某.add 这里指的是 第一个某某指的是对象 ,第二个某某指的是 对象中的集合 例如 student. courses.add(.....); 为什么第二个要这样呢 因为courses集合没有在SetTest里面声明 ,而是在Student类中被声明定义,故要在SetTest类中使用,就通过用实例的对象 student 然后 . 引用该集合 cour...
2018-01-23