Nach meinem Verständnis müsste es heißen buffer == null, also wenn buffer auf kein Objekt mehr zeigt, dann ist die Datei schließen. Ungleich ist aber richtig. Warum?
buffer
null
ist, wuerde es auf kein Objekt mehr zeigen und du kannst nichts mehr damit machen weil es ja auf kein Objekt/Instanz mehr zeigt. Das gesamte Muster sieht ja so aus:Buffer buffer = null;
try {
buffer = new Buffer();
buffer.operation();
} finally {
if (buffer != null) {
buffer.close();
}
}
Buffer
geschlossen werden muss. Wenn jetzt aber die Erstellung fehlschlagen wuerde, haette man keine Instanz bekommen, also buffer
waere null
und dementsprechend gibt es auch nichts zu schlieszen, denn es gibt keine Instanz auf welcher du etwas aufrufen oder tun koenntest.buffer = new Buffer();
in den try-Block eigentlich keinen Sinn ergibt.buffer != null
prüfen.