240 發(fā)簡信
IP屬地:安徽
  • 「如果沒有先set的話,即在map中查找不到對應(yīng)的存儲摧阅,則會通過調(diào)用setInitialValue方法返回i彼水,而在setInitialValue方法中洲敢,有一個(gè)語句是T value = initialValue()直焙, 而默認(rèn)情況下奋单,initialValue方法返回的是null哈扮【弑唬」
    你自己在結(jié)論里都寫了玻募,沒set直接get找不到會返回null,這個(gè)是不會報(bào)空指針一姿。至于你demo報(bào)空指針的原因是七咧,你get返回的null作為Long類型拆箱轉(zhuǎn)long類型的時(shí)候,調(diào)用
    null.longValue() 這才是你空指針的原因啸蜜,跟ThreadLocal啥的沒關(guān)系坑雅。
    總結(jié)就是:
    1、ThreadLocal在get之前不set不會空指針衬横;
    2裹粤、java自動拆箱實(shí)際是調(diào)用了對象的方法將封裝類型轉(zhuǎn)為基本類型,只要是對象調(diào)用方法蜂林,就需要預(yù)防空指針遥诉。

    ThreadLocal作用、場景噪叙、原理

    1.ThreadLocal 是什么矮锈? 在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal為解決多線程程序的并發(fā)問題提供了一種新的...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品