www.javabuch.de · Handbuch der Java-Programmierung · Guido Krüger · ISBN 3-8273-2361-4 bzw. 3-8273-2447-5

Errata zu Go To Java 2, 2. Auflage

Papierversionen (ISBN 3-8273-1710-X)

Bezeichnung Erschienen Erkennbar an... Bemerkungen
Vierter Nachdruck und Studentenausgabe Juni 2001 Vierter Nachdruck: Die Zahlenreihe auf Seite 4 lautet "10 9 8 7 6 5". Darunter steht "4. Nachdruck, 2001". Die Studentenausgabe ist am Zusatz "Studentenausgabe" auf dem Cover zu erkennen. Fehler bis Nummer 30 behoben.
Dritter Nachdruck März 2001 Die Zahlenreihe auf Seite 4 lautet "10 9 8 7 6 5 4". Darunter steht "3. Nachdruck, 2001". Fehler bis Nummer 20 behoben.
Zweiter Nachdruck Januar 2001 Die Zahlenreihe auf Seite 4 lautet "10 9 8 7 6 5 4 3" Fehler bis Nummer 6 behoben.
Erster Nachdruck November 2000 Die Zahlenreihe auf Seite 4 lautet "10 9 8 7 6 5 4 3 2" Fehler bis Nummer 6 behoben.
Erstdruck der 2. Auflage September 2000 Ist von der vorigen Auflage durch den Aufdruck "Handbuch der Java-Programmierung" und "2. Auflage" auf dem Cover zu unterscheiden. Von den Nachdrucken dadurch zu unterscheiden, daß die Zahlenreihe auf Seite 4 "10 9 8 7 6 5 4 3 2 1" lautet. Entspricht der Version 2.0 der Online-Version.

Online-Versionen

Einzige Version: 2.0

Fehler/Ungenauigkeiten
(Stand: 22.4.2002)
Nr. 45:
Abschnitt 13.2.3, erster Absatz nach der ersten Aufzählung (im Buch auf Seite 269). In der Anweisung set CLASSPATH=.;c:\classes darf natürlich nur ein Gleichheitszeichen stehen. Werden stattdessen zwei verwendet, wie im Buch abgedruckt, gibt es einen Syntaxfehler.

Nr. 44:
Abschnitt 9.4.2, vierter Absatz, erster Satz. Das "daß" nach dem letzten Komma muß mit "ß" geschrieben werden. In der Papierversion des Buchs tritt der Fehler nicht auf.

Nr. 43:
Tabelle 5.6 (im Buch auf Seite 106). Die Typisierung der String-Verkettung in Gruppe 3 sollte "S,A" heißen, denn sie funktioniert mit jedem Datentyp. Die Typisierung der Operatoren <, <=, > und >= in Gruppe 5 sollte "N,N" heißen.

Nr. 42:
Abschnitt 7.1.3, Klammer am Ende des zweiten Satzes (im Buch auf Seite 127). Zwischen Instanzmerkmale und "bezeichnet" fehlt ein Leerzeichen.

Nr. 41:
Abschnitt 4.7, vierter Punkt der Liste (im Buch auf Seite 92). Zwischen short und int fehlt ein Komma.

Nr. 40:
Leider findet das Suchapplet der HTML-Version nur Indexeinträge bis einschließlich windowClosed. Alle alphabetisch dahinter liegenden Einträge sind zwar im Index vorhanden, werden jedoch vom Suchapplet nicht gefunden.

Nr. 39:
In vielen Beispielen in diesem Buch wird der Einfachheit halber die in Abschnitt 23.2.4 vorgestellte Klasse WindowClosingAdapter verwendet, um einen Listener zum Schließen eines Fensters zu registrieren. Damit ein solches Beispiel sich kompilieren läßt, muß die Datei WindowClosingAdapter.java im aktuellen Verzeichnis vorhanden sein. Sie befindet sich auf der CD-ROM zum Buch oder in Listing 23.2.

Anmerkung: Hierbei handelt es sich nicht wirklich um einen Fehler, aber da mir die Frage so häufig gestellt wird, soll sie hier beantwortet werden.

Nr. 38:
Abschnitt 46.2.6 (im Buch auf Seite 1095). Der letzte Punkt der Aufzählung ist etwas unpräzise formuliert. Er sollte besser lauten:

Auch auf den konkurrierenden Zugriff mehrerer Clients auf ein und dasselbe Remote-Objekt sind wir nicht eingegangen. Tatsächlich ist es in der Regel so, daß das RMI-Laufzeitsystem für jeden Zugriff eines Clients einen eigenen Thread erzeugt und somit parallel auf das Remote-Objekt zugegriffen wird. Die RMI-Spezifikation schreibt konsequenterweise vor, die Remote-Objekte thread-sicher zu implementieren.

Nr. 37:
Listing 6.4 (im Buch auf Seite 115). Statt leer zu sein, sollte Zeile 2 den folgenden Code enthalten:

002 anweisung;

Nr. 36:
Abschnitt 5.7.1, letzter Satz im Unterabschnitt "Fragezeichenoperator" (im Buch auf Seite 101). Es muß natürlich "Der Typ des Rückgabewerts entspricht dem Typ des größeren der beiden Ausdrücke b und c." anstatt "Der Typ des Rückgabewerts entspricht dem Typ des größeren der beiden Ausdrücke a und b." heißen.

Nr. 35:
Abschnitt 42.2.3, letzter Satz im ersten Punkt der Aufzählung vor Tabelle 42.1 (im Buch auf Seite 949). Es sollte "...: Anders als bei Arrays hat die erste Spalte den Index 1." anstatt "...: Anders als bei Arrays hat die erste Spalte den Wert 1." heißen.

Nr. 34:
Abschnitt 45.3.1, erster Satz im letzten Absatz (im Buch auf Seite 1067). Es muß "...kann es möglicherweise Probleme geben." anstatt "...kann es möglicherweise Probleme gegen." heißen.

Nr. 33:
Abschnitt 23.2.1, erster Satz nach Listing 23.1 (im Buch auf Seite 476). Es muß "...ein Fenster mit dem Titel "Einfaches Fenster" erzeugt..." anstatt "...ein Fenster mit dem Titel "Listing2301" erzeugt..." heißen.

Nr. 32:
Auf den CD-ROMs zum dritten und vierten Nachdruck sowie zur Studentenausgabe fehlen im Unterverzeichnis "examples" viele der Beispieldateien zum Buch. Zudem wurden die meisten Dateinamen in Großschrift konvertiert. Als Workaround bietet es sich an, die entsprechenden Dateien aus den ZIP-Archiven "examples.zip" und "html.zip" zu nehmen, die im Unterverzeichnis "zip" liegen. Auch diesen Fehler gibt es in der Online-Version natürlich nicht. Im vierten Nachdruck tritt der Fehler nur bei einem Teil der Exemplare auf, bei den übrigen wurden die CD-ROMs ausgetauscht. Wem der Workaround nicht ausreicht, kann beim Verlag eine korrigierte CD-ROM anfordern.

Nr. 31:
Auf den CD-ROMs bis zum zweiten Nachdruck befand sich neben den im Buch beschriebenen Dateien zusätzlich ein Werbeframework des Verlages auf der CD-ROM. Dadurch sind alle Buchdateien in das Unterverzeichnis "buchdaten" gerutscht. Die Verweise im Buch auf die CD-ROM sind also entsprechend anzupassen. In der Online-Version gibt es diesen Fehler natürlich nicht.

Nr. 30:
Abschnitt 32.11, vorletzter Satz des letzten Punkts der Aufzählung vor Listing 32.16 (im Buch auf Seite 687). Es muß "...schließlich mit setSize..." anstatt "...schließlich mit getSize..." heißen.

Nr. 29:
Abschnitt 23.4.3, Syntaxdiagramm zu clipRect (im Buch auf Seite 491). Der dritte Parameter muß width heißen.

Nr. 28:
Abschnitt 7.1.6, zweiter Absatz, erster Satz (im Buch auf Seite 131). Es muß "...der Klasse Straßenfahrzeug..." anstatt "...der Klasse Straßenfahrrad..." heißen.

Nr. 27:
Listing 22.12, Zeile 010 (im Buch auf Seite 462). Wie Fehler 26.

Nr. 26:
Listing 22.11, in Zeile 021 muß es "...x*i%35..." anstatt "...x*%i35..." heißen (im Buch auf Seite 460). Die unformatierte Version des Listings und die .java-Datei auf der CD-ROM enthalten diesen Fehler nicht.

Nr. 25:
Abschnitt 22.2.1, erster Satz nach Listing 22.1 (im Buch auf Seite 444). Es muß "...neues Objekt vom Typ MyThread2201..." anstatt "...neues Objekt vom Typ MyThread..." heißen.

Nr. 24:
Abschnitt 20.4, letzter Satz vor Listing 20.2 (im Buch auf Seite 425). Es muß "...und spiegelverkehrt an ihr Ende anhängt:" anstatt "...und spiegelverkehrt an Ende anhängt:" heißen.

Nr. 23:
Listing 20.1, in Zeile 039 muß es "...b%16..." anstatt "...%b16..." heißen (im Buch auf Seite 424). Die unformatierte Version des Listings und die .java-Datei auf der CD-ROM enthalten diesen Fehler nicht.

Nr. 22:
Listing 16.9, Zeile 012 (im Buch auf Seite 352). Im Kommentar muß es natürlich "und" statt "uns" heißen.

Nr. 21:
Abschnitt 40.1.1, Erster Punkt der Aufzählung nach dem vierten Absatz (im Buch auf Seite 898). Es muß "durch die Zeichenkette "://" getrennt wird" anstatt "durch die Zeichenkette "//:" getrennt wird" heißen. In der Papierversion taucht der Fehler nicht auf.

Nr. 20:
Abschnitt 17.4.4, vierter und fünfter Punkt der nummerierten Aufzählung im Unterabschnitt "Die Methode getBundle" (im Buch auf Seite 371, Zeilen 15/16). Es muß "4. MyTextResource_de" und "5. MyTextResource" heißen (überschüssige "s" entfernen). In der HTML-Version taucht der Fehler nicht auf.

Nr. 19:
Listing 10.4 (im Buch auf Seite 193). Die Unterschrift des Listing muß "Anwendung statischer lokaler Klassen" heißen.

Nr. 18:
Abschnitt 14.4.3, die Reihenfolge der E-Mail-Aliase in der Ausgabe von Listing 14.3 (im Buch auf Seite 291 unten) kann je nach JDK-Version unterschiedlich sein. Im Windows-JDK 1.3 entspricht sie beispielsweise nicht der im Buch abgedruckten Variante, sondern lautet:
     Lissa --> lb3@gateway.fhdto.northsurf.dk
     Paula --> user0125@mail.uofm.edu
     Franz --> fk@b-blabla.com
     Fritz --> f.mueller@test.de
     
Damit macht auch die Bemerkung "Die Ausgabe des Programms unterscheidet sich nur in der Sortierung von der von Listing 14.3 auf Seite 291" am Ende von Abschnitt 15.6.2 wieder Sinn (im Buch auf Seite 318).

Nr. 17:
Abschnitt 36.3.1, dritter Satz im Unterabschnitt "Transparenter Hintergrund" (im Buch auf Seite 787, Zeile 7). Es muß "...und false zu übergeben." anstatt "...und true zu übergeben" heißen.

Nr. 16:
Abschnitt 10.1.2, letzter Satz im drittletzten Absatz des Unterabschnitts "Klassen in Klassen" (im Buch auf Seite 190, Zeile 17). Es muß "...die Variable name..." anstatt "...die Variable number..." heißen.

Nr. 15:
Abschnitt 10.1.2, letzter Satz im vorletzten Absatz des Unterabschnitts "Klassen in Klassen" (im Buch auf Seite 190, Zeilen 20/21). Es muß "...also die in Zeile 030 erzeugte Instanz Outer bezeichnen." anstatt "...also die in Zeile 010 erzeugte Instanz Inner bezeichnen." heißen.

Nr. 14:
Listing 23.2, in Zeile 027 muß es "this(false);" anstatt "this(true);" heißen (im Buch auf Seite 479).

Nr. 13:
Listing 6.5, in Zeile 002 muß es "switch (n%8)" anstatt "switch (%n8)" heißen (im Buch auf Seite 117). Die unformatierte Version des Listings und die .java-Datei auf der CD-ROM enthalten diesen Fehler nicht.

Nr. 12:
Abschnitt 7.3.2, im letzten Satz des ersten Absatzes muß es "...die Zahl 10 auf dem Bildschirm..." anstatt "...die Zahl 9 auf dem Bildschirm..." heißen (im Buch auf Seite 136).

Nr. 11:
Abschnitt 21.4.1, im vorletzten Satz des vorletzten Absatzes muß es "erfolgt ein rekursiver Aufruf" anstatt "erfolgt einer rekursiver Aufruf" heißen (im Buch auf Seite 434).

Nr. 10:
Abschnitt 14.4.2, im Syntaxdigramm der Methode containsKey der Klasse java.util.Hashtable hat sich ein kleiner Fehler eingeschlichen (im Buch auf Seite 290). In der Parameterliste muß es natürlich Object key heiß (und nicht Objec key wie im Buch angegeben).

Nr. 9:
Laut Java-Sprachspezifikation ist es erlaubt, in String-Literalen einfache Anführungszeichen ohne vorangestellten Backslash zu verwenden. Leider wurde das nicht im Listing-Formatter der HTML-Version berücksichtigt, und daher wird Zeile 10 in Listing 11.1 teilweise in der falschen Farbe ausgegeben (in der Papierversion taucht dieses Problem nicht auf).

Nr. 8:
Abschnitt 11.2.4, die Methode regionMatches der Klasse String wurde im Syntaxdiagramm fälschlicherweise mit einem int als Rückgabewert deklariert (im Buch auf Seite 235). Tatsächlich gibt die Methode einen Wert vom Typ boolean zurück, wie es auch in der nachfolgenden Beschreibung angegeben wurde. In Zeile 18 muß es also heißen "boolean regionMatches(".

Nr. 7:
Abschntt 15.4.2, erster Absatz nach Listing 15.4, zweiter Satz (im Buch auf Seite 311): Statt "Die beiden ElementWrapper-Zeiger first und next zeigen auf..." muß es natürlich heißen "Die beiden ElementWrapper-Zeiger first und last zeigen auf...".

Nr. 6:
Abschnitt 35.1.2, Unterabschnitt "Aber...", zweiter Punkt der Aufzählung (im Papierbuch taucht der Fehler nicht auf): Im zweiten Satz muß es natürlich heißen "Eines der häßlichsten Probleme im JDK 1.2 ist..." (statt "... 1.3 ..." wie in der Online-Version).

Nr. 5:
Abschnitt 9.3.1, erster Satz der Aufzählung nach dem ersten Absatz (im Buch auf Seite 175): Statt "..., falls keine implements-Klausel vorhanden war", muß es heißen "..., falls keine extends-Klausel vorhanden war".

Nr. 4:
Abschnitt 8.1.3, erster Absatz, letzter Satz (im Buch auf Seite 148): Statt ", die in der Methode neu definiert wurden." muß stehen ", die in der Klasse neu definiert wurden.".

Nr. 3:
Abschnitt 17.4.4, Unterabschnitt "Die Methode getBundle", letzter Punkt der nummerierten Aufzählung (im Buch auf Seite 371): Das Wort MyTextResource gehört als fünfter Punkt noch zur Aufzählung. In der HTML-Version taucht der Fehler nicht auf.

Nr. 2:
Abschnitt 17.4.4, Unterabschnitt "Eigene Ressourcenklassen erstellen", drittletzter Absatz (im Buch auf Seite 375): Die Erklärung zur Ausgabe von Programm 17.11 ist falsch (die Programmausgabe selbst ist richtig). Zu den beiden letzten Übersetzungswünschen wird nicht die Ressource MyTextResource verwendet, wie im Text beschrieben (dann müßte die Ausgabe nämlich englisch sein), sondern die der Default-Locale - so wie in der zuvor erwähnten Aufzählung beschrieben. Und das wird bei den Lesern des Buchs in aller Regel MyTextResource_de oder ein Derivat davon sein.

Konkret: Der letzte Satz "getBundle weicht in beiden Fällen auf die Stammklasse MyTextResource aus, und die Ausgaben erfolgen in Englisch." ist zu ersetzen durch "getBundle verwendet in beiden Fällen die Datei MyTextResource_de zur Default-Locale, und die Ausgaben erfolgen in deutscher Sprache.

Nr. 1:
Tabelle 5.4, Beschreibung des Linksschiebe-Operators << (im Buch auf Seite 99): Leider stimmt es nicht, daß das höchstwertige Bit bestehen bleibt, wie es in der Tabelle beschrieben wird. Stattdessen wird dort der Wert des um die entsprechende Anzahl Stellen rechts daneben stehenden Bits hineingeschoben. War es vor der Schiebeoperation 1, ist der Wert des Ausdrucks anschließend negativ.

Konkret: Der letzte Satz "Das niederwertigste Bit wird..." ist durch "Das höchstwertige Bit (also das Vorzeichen) erfährt keine besondere Behandlung".

2.0
(1.7.2000)
Buchversion fertiggestellt.

Weitere Informationen zu den jeweiligen Änderungen finden sich im Buch.

Unterschiede zur ersten Auflage

Die Unterschiede zur ersten Auflage sind beträchtlich. Das Buch wurde um eine Vielzahl von Themen erweitert und hat einen um ca. 50 % größeren Umfang als die Vorversion (auch wenn die Seitenzahl wegen des engeren Layouts rechnerisch "nur" 40 % suggeriert :-). Es deckt nun alle für den Java-Ein- und -Aufsteiger relevanten Themenbereiche ab. Ein paar Anmerkungen zu den Unterschieden zwischen beiden Versionen finden sich auf der Seite Hinweise zur 2. Auflage der ersten Auflage.
© 1996 Guido Krüger - Letzte Änderung 28.11.2006 - Impressum