2017-12-20 15 views
0

Ich habe gelernt, dass in einem nicht statischen Block this die aktuelle Referenz darstellt, auf der dieser Block aufgerufen wird. Mein Zweifel ist, gibt es keine Notwendigkeit zu überprüfen this ist immer null oder nicht, ich meine, wenn es an erster Stelle der Block (Methode, Konstruktor, etc) wird nicht ausgeführt werden (NPE). Ich bin auf diesen Code gestoßen, wo er this != null überprüft. Es weiß nicht, warum es verwendet wird, gibt es tatsächlich ein Bedürfnis?Muss geprüft werden, ob die aktuelle Referenz Null ist?

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

this! = Null kann nie falsch sein –

+0

‚dies‘ nicht null sein jemals – Ele

+0

das ist, was, ich frage mich, warum es keine Warnungen –

Antwort

1

Wenn Sie dies verwenden, dann sind Sie in der Instanz, so dass dies nicht null ist.

Das Schlüsselwort 'this' selbst repräsentiert die aktuelle aktive Instanz (Objekt) dieser Klasse innerhalb des Gültigkeitsbereichs dieser Klasse, mit der Sie auf alle Felder und Member (einschließlich Konstruktoren) und die sichtbaren seiner übergeordneten Klasse zugreifen können .

für weitere Informationen check this out Can "this" ever be null in Java?

Verwandte Themen