今天在编码过程中遇到了一个问题,就是给一个list增加数据导致了空指针,这令我十分诧异,后来发现原因是这样的
List<byte[]> bytes = null;
我是这样初始化的,这样只是在栈中有一个引用但并没有分配内存空间,如果这时我直接向List里添加对象就是直接向这个引用所指的内存放东西,因为没分配内存,所以会报空指针异常;
因此要改为
List<byte[]> bytes = new ArrayList<>();
这样栈中的引用指向堆中的空间时,就可以使用堆中的内存,问题解决