我目前正致力于在Java FX中制作基本的TextEditor,但我遇到了一些困难。我正在尝试合并MVC开发风格并在使用编辑器时在模型中使用Document类型的任何对象,尽管当我尝试保存内容区域时,当我尝试在文档中设置任何变量时我得到NullPointException初始化为null。它工作正常,设置为新文档虽然会使参数为空...
有关此推理的任何信息都非常感谢!
编辑:
对于模棱两可的抱歉,我的意思是初始化一个我试图设置变量的对象。我把它初始化为null:
Document workingDocument = null
当我将其更改为:
Document workingDocument = new Document(null, null);
我理解创建新文档在内存方面的作用,但不是简单地将其初始化为null的内容...
答案 0 :(得分:0)
不是100%肯定你的意思,但如果没有对象 - 你不能在其中设置任何变量 - 因为它不存在。因此,如果它被初始化为null则为空 - 即没有。
如果已实例化一个对象,则可以设置它的成员变量 - 即使其中的变量为null - 因为该对象实际存在。
Null为空。因此,即使变量属于某种类型,如果它被实例化,它也将指向null。
Shoe myShoe; // This is a shoe typ variable
myShoe = new Shoe(); // Now it's pointing to a new shoe object
myShoe = null; // Now it's pointing to null, meaning there is no shoe object there anymore.
答案 1 :(得分:0)
您无法对空值进行操作。唯一可用于空值(我的头顶)的操作是
if(document==null)
document=null
NullPointerException
值上调用某种方法,则会抛出 null
。
Document doc=new Document();
doc.toString(); // works just fine
doc=null;
doc.toString(); throws NPE.
您应该熟悉OOP的概念,因为此处广泛使用空值。 您可以在此处查看相关主题What is a NullPointerException, and how do I fix it?