240 發(fā)簡信
IP屬地:甘肅
  • 「如果沒有先set的話该窗,即在map中查找不到對應(yīng)的存儲,則會通過調(diào)用setInitialValue方法返回i秀睛,而在setInitialValue方法中酬屉,有一個語句是T value = initialValue(), 而默認情況下,initialValue方法返回的是null默伍。」
    你自己在結(jié)論里都寫了衰琐,沒set直接get找不到會返回null也糊,這個是不會報空指針。至于你demo報空指針的原因是羡宙,你get返回的null作為Long類型拆箱轉(zhuǎn)long類型的時候狸剃,調(diào)用
    null.longValue() 這才是你空指針的原因,跟ThreadLocal啥的沒關(guān)系狗热。
    總結(jié)就是:
    1钞馁、ThreadLocal在get之前不set不會空指針;
    2匿刮、java自動拆箱實際是調(diào)用了對象的方法將封裝類型轉(zhuǎn)為基本類型僧凰,只要是對象調(diào)用方法,就需要預(yù)防空指針熟丸。

    ThreadLocal作用训措、場景、原理

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

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