尝试访问方法时出现空指针异常(java)

时间:2018-08-27 11:28:43

标签: java nullpointerexception

我正在用Java开发一些代码,但是遇到了NPE的问题。 当我尝试在另一个类中使用方法时,就会发生这种情况。 这是我的代码:

public class MyClass{

    private Attributes attr = null;

public static void main(String [ ] args) throws ParseException, SAXException, IOException, ParserConfigurationException {
         MyClass main = new MyClass();
         Options options = main.parseCommandLine();

        CommandLineParser parser = new BasicParser();
        CommandLine cl = parser.parse(options, args);
        main.configureAttributes(main);
    }

private void configureAttributes(MyClass main, CommandLine cl) throws ParserConfigurationException, SAXException, IOException {         
        String[] attributes = cl.getOptionValues("a");
        Integer tag = null;

        for(int i = 0; i < attributes.length ; i++) {
            String[] parts = attributes[i].split("=");
            String tagName = parts[0];
            String value = parts[1]; 
            tag = Integer.parseInt(tagName,16);                             
            this.attr.setString(tag, DICT.vrOf(tag), value);
        }
    }           
}   

但是我在最后一行得到了NPE:this.attr.setString(tag,DICT.vrOf(tag),value);

我有所有合适的进口货。这是一个Maven项目,因此我也将依赖项添加到了pom.xml中。

非常感谢您的帮助!

V。

2 个答案:

答案 0 :(得分:1)

好像您忘了初始化attr字段。根据您的消息来源,这里仅是此字段的一项分配:private Attributes attr = null;。因此,我认为,您需要在代码中的某处初始化字段。

答案 1 :(得分:0)

您要在哪里初始化Attributes attr

您需要使用Attributes attr = new Attributes();之类的东西,因为正确地知道您的变量确实不包含任何内容-null