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.
 |