为什么主方法中的getSingle下会划红线报错,到底错在哪了,求大神解答
public class Test7 {
/**
* 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
* 思路:创建新集合方式
*/
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("c");
list.add("c");
list.add("c");
list.add("c");
ArrayList<String> newList = getSingle(list);
System.out.println(newList);
}
//contains方法判断是否包含,底层依赖的是equals方法,如果是自定义对象,要重写equals方法
public static ArrayList<Object> getSingle(ArrayList<Object> list) {
ArrayList<Object> al = new ArrayList<>();
Iterator<Object> it = list.iterator();
while (it.hasNext()) {
Object object = (Object) it.next();
if (!al.contains(object)) {
al.add(object);
}
}
return al;
} |