已采纳回答 / kk求知者
第二个coursesToSelect.add(0,cr2); 这里 前面的0指的是index 应该为0 因为你后面这里Course temp2=(Course)coursesToSelect.get(0); 是从get(0)取得是0上位置的值。
2018-03-09
最赞回答 / qq_珍宝珠的盒子_0
因为Course类是我们自己创建的,在Java的类库中并没有Course这个类,放进List的元素默认是Object类型的,要对其进行强制类型转换才能得到我们所需要的Course类型,等号左边是Course类型,那么右边也要是Course类型才不会报错。
2018-03-09
已采纳回答 / 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