今天在編碼過程中遇到了一個問題,就是給一個list增加數據導致了空指針,這令我十分詫異,後來發現原因是這樣的
List<byte[]> bytes = null;
我是這樣初始化的,這樣只是在棧中有一個引用但並沒有分配內存空間,如果這時我直接向List裏添加對象就是直接向這個引用所指的內存放東西,因爲沒分配內存,所以會報空指針異常;
因此要改爲
List<byte[]> bytes = new ArrayList<>();
這樣棧中的引用指向堆中的空間時,就可以使用堆中的內存,問題解決