那么为什么会抛出空指针?
因为你的get()方法返回的是long而不是Long,根据Java中基础类型和包装类型的知识:long是基本类型,默认值是0L,Long是包装类型,默认是null,ThreadLocal的get()返回null,long自然不能接受null值,故此空指针。
ThreadLocal里的泛型是Long,get却是基本类型,这需要拆箱操作的,也就是会执行null.longValue()的操作,这自然就会空指针了。
看似一道Javase的基础题目,实则隐藏了很多知识。
六、ThreadLocal工具类
想了解更多精彩内容,快来关注计算机java编程
文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/zonghexinwen/2020/0910/470.html
电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: