Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Problem (oder Verständnisporblem) bei einer static method
Naja laut meinem Java Buch ist das System.out.println veraltet.. zumindest schrieben sie das.
Irgendwie frag ich mich bei Deiner Lösung, wieso man das ausgabe object nicht mehr schließt oder freigibt. Ansonsten funktionierts damit aber.
Danke für die schnelle Hilfe.
[Edit]
Aha, macht sich das ausgabe object den System.out Stream zueigen und schließt diesen bei ausgabe.close()?
Dabei wollt ich eigentlich nur das ausgabe object freigeben, aber nicht System.out schließen.
[/Edit]
Derartige Aufräumarbeiten sollten bei JAVA automatisch durchgeführt werden. Der GC merkt, dass ausgabe nicht mehr benötigt wird (da nur lokal in der Methode verwendet) und räumt das Objekt beim nächsten lauf weg.
Darf ich fragen welches Buch das ist?
Da die Syso's sowieso keine bedeutung bei echten programmen haben ist das IMHO völlig egal.
Bestenfalls ein schnelles Debug-Werkzeug.
Ich kann mir nicht vorstellen das jemand sowas:
Code:
class CUtil
{
public static void print(String pStr)
{
PrintWriter ausgabe = new PrintWriter(System.out);
ausgabe.print(pStr);
ausgabe.flush();
}
}
Selbst hab ich's nicht gelesen, aber ist kostenlos und soll sehr gut für Anfänger sein: http://www.galileocomputing.de/openbook/javainsel4/
Gibts das auch als e-book? Hätte gern mal nachgelesen warum man kein Syso verwenden soll!
Ich habe das gerade noch mal nachgelesen und wohl etwas zuviel hineininterpretiert.
Ich denke, dass es nicht verboten ist ein kleines Detail aus dem Buch zu zitieren.
Die Ausgabe mit Hilfe der print()-Methode ist im Grunde veraltet und wurde nur der Abwärtskompatibilität wegen beibehalten. Trotzdem ist sie bequem, einfach zu handhaben und dabei noch recht leistungsfähig, so dass Sie ruhig weiter aus ihr Nutzen ziehen sollten. Wenn Sie allerdings professionelle Anwendungen schreiben wollen, sollten Sie sich an die neuen Standards halten.
Das war meine Motivation dazu, dass ich nicht System.out.println verwendet habe. CUtil wird sicher noch mehrere static Methoden bekommen, so dass diese Klasse etwas mehr Sinn macht.
Danke für Deinen Link, werde mir diesen gleich mal ansehen.