2017-12-20 19 views
0

私は、非スタティックブロックの中で、thisがそのブロックが呼び出される現在の参照を表していることを知りました。疑問がある場合は、nullであるかどうかをチェックする必要があります。ブロック(メソッド、コンストラクタなど)は実行されません(NPE)。私はthis != nullをチェックするこのコードに出くわしました。なぜそれが使われているのか分からない、実際に必要があるのだろうか?現在の参照がnullかどうかを確認する必要はありますか?

public int compareTo(StudentMarksTO arg0) { 
    if(arg0.isIsfalsegenerated()==true) { 
     if(arg0!=null && this!=null && 
      arg0.getFalseNo()!=null && this.getFalseNo()!=null && 
      !arg0.getFalseNo().toString().equals("") && 
      !this.getFalseNo().toString().equals("")) { 
     return this.getFalseNo().compareTo(arg0.getFalseNo()); 
    } 
    else 
     return 0;    
    } 
} 
+3

これをこれをチェック!= nullが –

+0

偽になることはありません「これは」今まで – Ele

+0

nullにしないという警告は、 –

答えて

1

これを使用している場合は、インスタンスに含まれているため、これはnullではありません。

キーワード 'this'自体は、そのクラスのスコープ内のそのクラスの現在の生きているインスタンス(オブジェクト)を表し、そのフィールドとメンバー(コンストラクタを含む)とその親クラスの可視オブジェクト。詳細は

Can "this" ever be null in Java?

関連する問題