Warum StAX-Klassen in Java 7 nicht für ARM nachgerüstet wurden

8

Ich habe in Java 7 XMLStreamReader als AutoCloseable erwartet. Das ist jedoch nicht der Fall. Gibt es einen technischen Grund, warum StAX-Leser / Schreiber-Schnittstellen nicht zur Implementierung von AutoCloseable nachgerüstet wurden (oder nicht) werden sollten? Sie haben bereits nahe Methoden, deren Absicht sich nicht von der nahen Methode von AutoCloseable unterscheidet.

    
Deepak 10.05.2012, 15:24
quelle

2 Antworten

8

Wenn Sie sich die close() näher ansehen, Methode von AutoCloseable :

  

Schließt diese Ressource und gibt alle zugrunde liegenden Ressourcen auf. Diese Methode wird automatisch für Objekte aufgerufen, die von der try-with-resources-Anweisung verwaltet werden.

Oder sogar Closeable close() Methode :

  

Schließt diesen Stream und gibt alle damit verbundenen Systemressourcen frei. Wenn der Stream bereits geschlossen ist, hat das Aufrufen dieser Methode keine Auswirkungen.

Während die close() Methode von XMLStreamReader sagt:

  

Gibt alle mit diesem Reader verbundenen Ressourcen frei. Diese Methode schließt die zugrunde liegende Eingabequelle nicht.

Tatsächlich wird die Eingabequelle von der Reader verwaltet welche die Closeable Schnittstelle implementieren. Es ist also der Leser, der sich in der try-with-ressource befindet.

Zum Beispiel:

%Vor%     
alain.janinm 14.06.2012, 10:40
quelle
0

Es gibt keinen technischen Grund, warum sie diese Dinge nicht in AutoCloseable hätten machen können. Ich denke, es kommt nur auf Faulheit oder zu wenig Zeit für die Suche nach Methoden namens close ().

    
Trejkaz 09.11.2012 05:13
quelle