使用文件编写器进行类型转换问题

时间:2019-03-31 12:12:06

标签: java string methods integer

enter image description here我编写了一个文件编写器和一个文件读取器类,在其中您将数据放入文件读取器中,并由文件读取器以其他类方法使用它。我在Account类中定义的变量类型是整数。要在文件中写入它,我将类型更改为String(因为我的其他变量为String)...当我想在Account类的方法中使用该变量时,我无法将其与本地变量(由用户填充)进行比较。它给我一个“ NullPointerException”错误。有人可以帮我吗?(代码只是摘要)enter image description here

public class Account {
    int PIN;
public void meth_name(){
    int pin;

    if(PIN == pin)


    }
}

public class filewriter {

    public void met_name(){
        ....
        fw.write("PIN: "+ Integer.toString(PIN));
    }
}

1 个答案:

答案 0 :(得分:0)

在Java中,当您使用primitive types时,由于它们不是指针,因此无法获得NullPointerException,它们是在Stack Memory中分配的。
因此,您将获得NullPointerException,因为其他一些变量为null。从您提供的代码片段中很难理解哪个变量为null。
在您的情况下,可能会抛出NullPointerException,因为

  • 您要获取PIN的Account对象为空
  • 您正在使用的fw(文件编写器)对象尚未初始化

请提供更多代码或NullPointerException的堆栈跟踪,以了解异常的根本原因。 另外,请告诉您代码中使用的fw对象的类型是什么。是java.io.PrintWriter还是您的自定义课程?