parallelStream导致LinkedList遍历时空指针的问题
发布日期:2025-05-01 22:15:39 浏览次数:2 分类:技术文章

本文共 788 字,大约阅读时间需要 2 分钟。

       最近在开发中遇到一个问题,在遍历一个LinkedList时偶然性的会发生空指针。前面儿是通过parrallelStream往这个LinkedList里面添加元素,导致的这个问题,parrallelStream是并行流,而LinkedList和ArrayList都不是线程安全的,就可能会导致这个问题。

例如下面一段代码,运行几次,偶然就会出现空指针

       

public class TestLinkedList {    public static void main(String[] args) {        List
list = new LinkedList<>(); List
list1 = new ArrayList<>(); for(int j=0; j < 1000; j++){ list1.add(j); } list1.parallelStream().forEach(t -> list.add(t)); for (Integer integer : list) { System.out.println(integer); } System.out.println(list.size()); }}

 

  运行结果偶尔会出现空指针

Exception in thread "main" java.lang.NullPointerException	at java.util.LinkedList$ListItr.next(LinkedList.java:893)	at com.zhangmen.info.job.aop.TestLinkedList.mai
上一篇:Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
下一篇:parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月09日 20时53分10秒