黑马程序员技术交流社区
标题:
已疯,不知道哪里错了,求解答
[打印本页]
作者:
SkyBlack
时间:
2016-6-2 10:07
标题:
已疯,不知道哪里错了,求解答
package com.heima.Test16;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Test_demo {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
ArrayList newList = demo1(list);
System.out.println(newList);
}
public static ArrayList demo1(ArrayList list) {
ArrayList newList = new ArrayList();
Iterator it = list.iterator();
while (it.hasNext()) {
String temp = (String)it.next();
if (!newList.contains(list)) {
newList.add(temp);
}
}
return newList;
}
}
复制代码
作者:
ljd
时间:
2016-6-2 10:21
if (!newList.contains(temp)) {
newList.add(temp);
}
这样就可以了
作者:
SkyBlack
时间:
2016-6-2 11:38
ljd 发表于 2016-6-2 10:21
if (!newList.contains(temp)) {
newList.add(temp);
}
谢谢,还想问一下,问什么用it.next()不行呢?
作者:
ljd
时间:
2016-6-2 11:44
你在创建集合对象时未使用泛型指定为String类,所以it.next()得到的是Object类型的,必须使用类型强制转换
String temp = (String)it.next();
或者你也可以这样:Object obj = it.next();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2