2016-05-31 19 views
-3

現在、基本的なTextEditorをJava FXで作成していますが、少し難しかったです。私は、MVC開発スタイルを組み込み、エディタで作業しているときにモデルでDocument型のオブジェクトを使用しようとしていますが、コンテンツの領域を保存しようとするとNullPointExceptionが発生します。 nullに初期化されます。それは新しい文書に設定されてうまく動作しますが、パラメータはnullになります...nullオブジェクトが原因でNullPointerExceptionが発生する

これについての情報は本当にありがとうございます!

編集:曖昧さのため

申し訳ありませんが、私は、その後の変数を設定しようとしていますオブジェクトを初期化するという点で意味されました。私はそれが単にNULLに初期化されました:

Document workingDocument = null 

私はこれを変更する場合:

Document workingDocument = new Document(null, null); 

私は新しいドキュメントを作成すると、何が単にnullにそれをしない初期化メモリの面で行いますがないかを理解します。 ..

+0

いくつかのコードを表示できますか? – Christoffer

+1

オブジェクトがヌルで、その上でメソッドを呼び出そうとしている場合、どのようなことが起こりますか? – alfasin

+0

nullから何かを取得しようとすると、NullPointerExceptionがスローされます。例えば、 'null.someField'、' null.getSomething() '、' null [1] 'などです。 'null'にはフィールドもメソッドも配列もないために発生します。これらの操作を 'null'で直接行う必要はありません。 'String s = null;のようにnullを保持しているそのような参照であれば、同じことが起こります。 s.length(); ' – Pshemo

答えて

0

null値は操作できません。 if(document==null)

  • Assignements - - あなたが起動しようとする場合document=null
  • NullPointerExceptionは、例えばスローされます(私の頭の上の)ヌルのために利用可能な唯一の操作は

    1. Nullchecksですnull値のいくつかの並べ替えの方法。 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?

    0

    オブジェクトが存在しない場合は、何も意味がありません。存在しないため、オブジェクトに変数を設定することはできません。したがって、nullに初期化されている場合は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. 
    
    関連する問題