开源项目:图书管理系统碰到的问题(二)
今天刚碰到的问题是购物车的删除功能,添加功能原有,查看功能也简单。我自己写了一个清空购物车功能,这个功能也简单,只要cart.clear()就可以实现了。使用的是HashMap集合,在进行删除时出现以下问题:
1.直接使用cart.remove(book.getbookid())根据书的id进行删除时,只能从下往上删,偶尔还删不掉。还有报空指针异常,我猜想因为删除之后,内部指针指向的还是原来原有的位置,没有指向下一个,直到我参考了这位老哥的方法https://blog.csdn.net/daijiguo/article/details/81008890?utm_medium=distribute.pc_relevant.none-task-blog-title-7&spm=1001.2101.3001.4242
以下是他原有代码:
for (Iterator<Map.Entry<String, String>> it = maps.entrySet().iterator(); it.hasNext(); ) {
Map.Entry<String, String> item = it.next();//此句不能少,否则,删除当前节点,指针无法找到下一节点
String abc = Integer.toHexString(item.hashCode());
it.remove();
}
用迭代器删除,我用了他的方法之后,添加进来的单个可以删,多个的时候直接清空了。后来我改成了自己的办法

加入一个break;
直接就解决了问题。

浙公网安备 33010602011771号