Ich versuche, einen großen und häufig verwendeten Teil meiner Anwendung in separate Methoden umzuwandeln, um die Pflege zu erleichtern.Scanner schließen, ohne System.in zu schließen
Einige dieser Methoden fordert den Benutzer zur Eingabe und tut Eingabevalidierung, also habe ich einen Scanner und System.in Aber wenn ich meinen Scanner schließe ich auch in der Nähe System.in
Also meine Frage ist verwendet , kann ich nur verhindern, dass System.in geschlossen wird, indem ich es mit CloseShieldInputStream abschirme, oder sollte ich einfach einen Scanner an die Methoden übergeben?
Bitte einen Code schreiben ... – nkukhar
Wollen Sie wirklich schließen müssen der Scanner? Ich würde vorschlagen, den Garbage Collector damit umgehen zu lassen - es gibt keine Möglichkeit, es zu schließen, ohne das darunterliegende Objekt zu schließen. – ddmps
Meine Methode deklariert einen Scanner, liest und gibt nextLine() zurück, schließt den Scanner und bereitet mir beim nächsten Lauf Kopfschmerzen. Wenn ich es nicht schließe, schimpft Eclipse mich über ein mögliches Ressourcenleck, wäre es sicher, das zu ignorieren? – deepy