-4

I created an Initialize class to avoid a multitude of unneeded objects. To use this object I created an instance of it like so:

    public static Initialize INIT = new Initialize();

Whenever I use "Initialize.INIT" I get a NullPointer at "Initialize".

What can I do to solve my original error, StackOverflow and avoid NPEs?

4

1 回答 1

1

NPE 的原因是,在您尝试使用它时,INIT其值为null

这个怎么可能?毕竟你将它初始化为一个新对象,并且new操作符永远不会返回null

那么最可能的解释是某些东西被分配nullINIT。您应该能够通过将字段声明为 来避免这种情况final

(也有可能你有一些代码INIT在它被初始化之前查看它的值。这只会在你为其他一些类执行静态初始化代码时发生,并且在 this 的静态之间存在依赖循环类和另一个。)

于 2013-06-02T03:05:32.290 回答