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

尝试访问方法(java)时出现空指针异常,java,nullpointerexception,Java,Nullpointerexception,我正在用Java开发一些代码,但是NPE遇到了一个问题。 当我尝试在另一个类中使用方法时,就会发生这种情况。 这是我的密码: public class MyClass{ private Attributes attr = null; public static void main(String [ ] args) throws ParseException, SAXException, IOException, ParserConfigurationException {

我正在用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);
        }
    }           
}   
公共类MyClass{
私有属性attr=null;
公共静态void main(字符串[]args)抛出ParseException、SAXException、IOException、ParserConfiguration异常{
MyClass main=新的MyClass();
Options=main.parseCommandLine();
CommandLineParser=new BasicParser();
CommandLine cl=parser.parse(选项、参数);
main.configureAttributes(main);
}
私有void configureAttributes(MyClass main,CommandLine cl)抛出ParserConfiguration异常、SAXException、IOException{
String[]attributes=cl.getOptionValues(“a”);
整数标记=null;
for(int i=0;i
但我在最后一行得到一个NPE:this.attr.setString(tag,DICT.vrOf(tag),value)

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

非常感谢你的帮助


V.

看起来您忘了初始化
attr
字段。根据您的来源,这里只有一个分配给此字段:
private Attributes attr=null。因此,我认为,您需要在代码中的某个地方初始化字段。

您在哪里初始化属性attr


您需要使用类似于
Attributes attr=newattributes()的东西
因为您知道您的变量不包含任何内容-
null

您不能对null调用a方法,并且
此.attr
为null。当然,在调用
setString
愚蠢的我之前,您应该初始化它!谢谢你的回答,修补程序!问题不是答案@热修复-实际上问题指向了当前的问题:忘记初始化
attr
变量。