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