究竟为什么错了?还有就是要怎么改?谢谢。。。。
------解决思路----------------------
map.keySet()返回的是一个set集合,你这么接收肯定不行。
------解决思路----------------------
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class BoardDao {
public static Map<Integer, List<Board>> map = new HashMap<Integer, List<Board>>();
public List<Board> findListBoards(Topic topic){
//使用Iterator是遍历Map的一种标准做法
Iterator<Integer> it = map.keySet().iterator();
while(it.hasNext()){
Integer topicid = it.next();
if(topicid == topic.getId()){
return map.get(topicid);
}
}
return null;
}
}
//以下两个类只是为了让IDE不报错,在你的项目中有,不需要它俩
class Board{
}
class Topic{
private int id;
public int getId() {
return id;
}
}
------解决思路----------------------
报错的那行=号改成:号就可以了
------解决思路----------------------
2楼是个好人啊。解释得也很详细了。
就是你没有弄明白得到的是集合,而不是一个Integer类型。
我看你把它写在了for循环里面,难道你是想用foreach循环吗??
那就应该这样写:for(Integer topicid : map.keySet())。中间使用: