最近开发一个实现类,需要循环通过这个实现类进行传输数据,因此需要有一个字符类型的进行接收结果,然后置空等待下一次的接收。所以使用了static StringBuilder,因为单线程,大量更改的特性。使用static的原因是一次结果可能会多次传输。
基本逻辑都已经写好,在进行批量传输数据的时候。出现了一个NullPointerException。我就觉得是这个接收字符的问题。结果四五次debugger进行调试后,发现了我的置空居然使用了null,将StringBuilder=NULL;这样子,会导致下一次使用StringBuilder.append()方法时候直接抛异常。这里涉及到地址的引用,以及内存的知识面。本人这方面知识面不足,最后使用StringBuilder的delete()方法。完美解决!
心得:在写代码过程中,不可以想当然的编写程序。大神的代码不会暴雷,因为在编写过程中,就没有埋雷!