我的 map reduce 作业类中有一个静态对象,我想初始化一次(在 main 方法中),然后在每个映射中调用它的函数。所以我有这个对象,我声明为变量的 MyObject:
static MyObject obj;
在我的主要功能中,在我开始工作之前,我调用:
obj = new MyObject();
obj.init();
然后在我的地图函数中我想调用:
obj.execute();
但是由于某种原因,当我尝试此操作时出现空指针异常(它说 obj 为空)。如果我在我的主函数中初始化它,映射器不应该将它视为已初始化吗?映射器是否看到静态变量?