最新回答 / venus_protein
首先第1个代码中的clas2中的元素其实与clas中的第3,4个元素只是值相同,他们的引用地址是不同的。因为clas2中的元素是重新申请内存空间,创建了"Joker"、“Li”。也就是说clas和clas2中只是有两个值相同的元素。第2个代码成功的原因,其实由上述1可以知道。通过clas2.add(clas.get(2));添加的元素是与clas中元素的引用地址相同,因此能够通过clas2删除clas中的元素。
2020-03-28
最新回答 / 慕容9342234
Puke类在实现可比较接口时要指明要比较的对象的类Public class Puke implements Comparable<Puke>{}然后调整CompareTo函数就行了
2020-03-27
已采纳回答 / 放下8000775
new Course去掉的话,course数组就会创建失败。因为数组的每一项必须都是Course类型的,去掉了就代表着传进去2个字符串,系统是不会自动将它自动转换成Course类型去创建数组的
2020-03-26
最新回答 / 像风一样自由_
package collection;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random;import java.util.UUID;public class collectionTest { public void testSort3() { List<String> stList = new ArrayList<S...
2020-03-25
已采纳回答 / 慕斯卡7563590
重发下:翻了下以前的问答有这个重写的:第三行的comparaTo是原始没有被重写的(事实上到这里为止comparaTo没有被重写完成,所以使用的也不可能是重写的),这里之所以可以直接用,因为比较的两者是基本类型,this.id.compareTo(arg0.id,都是字符型。两个string做简单比较是不存在歧义不需要重写就可以实现的,只有当比较对象是Student这种复杂的,里面包含多个属性的类对象,原始的comparaTo才无法比较,需要重写。一个是比较学生对象,一个是比较id
2020-03-24
最新回答 / Hewitt_Q
你是用Student类而不是StudentComparator类实现Comparator接口的,所以在sort的时候new StudentComparator()当然不适用了。?
2020-03-24
已采纳回答 / 远赴山河万里
comparator是临时的,compareable从默认的,也就是说,当你sort(studentList),这个时候因为没有给一个临时的comparator,compareable的意思是,当没有其他的规则时,按照默认的排序。原理和初始化类似,初始化一个对象时,如果你不给参数,他就会按照默认的,给了就覆盖掉。
2020-03-24