![]() |
Università
|
Diploma in Ingegneria Informatica
|
A.A. 2001/20012
Versione 1.00 27/09/2001
N.B. Il numero di riga positivo va conteggiato dalla prima riga in alto della pagina, quello negativo dall'ultima in basso a ritroso.
L'errata corrige delle versioni in inglese, da cui è stata in parte ricavata questa della versione italiana, si trovano al sito della Sun. Per l'errata corrige delle versioni inglesi seconda e terza, vedere ancora il sito Sun.
Capitolo | Pagina | Riga | Errata | Corrige | ||
---|---|---|---|---|---|---|
1 | 14 | 6-8 | [solo un metodo statico può accedere ad un campo statico | [in realtà vi possono accedere sia metodi statici che non; ad un campo d'istanza vi può invece accedere solo un metodo non statico] | ||
2 | 29 | 19 | alla classe Car | [omettere] | ||
3 | 51 | -12 | super.valueOf( | Object oldValue = super.valueOf( | ||
56 | -9 | di metodi non statici | di metodi statici | |||
59 | -11 | That sref = super | [Java 1.1.x non accetta l'uso di super come parola chiave isolata, ma solo nella forma qualificata per riferire i membri, acmpi e metodi, della superclasse. D'altra parte l'istanza di superclasse non esiste distinta da quella della sottoclasse, essendo in quest'ultima incorporata come sottoparte. Conseguentemente un riferimento ai campi della supercalsse può tranquillamente avvenire, purché originariamente non privati, utilizzando il riferimento this. Quindi l'assegnazione di questo esempio può essere sostituita da] That sref=this; | |||
60 | 5 | class NoExtending | final class NoExtending | |||
64 | 8 | alcuni oggetti | alcuni metodi | |||
65 | -20 | fornisce un metodo Clo | fornisce un metodo clo | |||
66 | -14 | Object Clone { | Object clone throws CloneNotSupportedException { | |||
66 | -13 | return super.clone() throws CloneNotSupportedException | return super.clone() | |||
68 | -9 | no attirare | no attivare | |||
4 | 84 | 16 | implementante | implementare | ||
5 | 107 | 1 | IndexOutOfBoundException | IndexOutOfBoundsException | ||
6 | 121 | 15 | else | [portare questa parola chiave al livello di indentazione del primo if in modo da rendere evidente la spiegazione] | ||
121 | -16 | for (int i = 0; i < values.length; i++) | for (int i = 0; i < values.length; i++) { | |||
121 | -12 | sum = values[0] | [inserire tra riga -12 e riga -11 la parentesi } che chiude esplicitamente il blocco for] | |||
122 | 6 | if/else | if/else in un loop | |||
7 | 132 [1.08] | 10-11 | Tutte le eccezioni definite dal programmatore sono estensioni di Exception, e sono quindi eccezioni controllate | [Si tratta di una affermazione un po' azzardata. Per un commento più ampio si veda una FAQ] | ||
133 | 20 | (name, this) | (name, newValue) | |||
9 | 159 | -2 | start | la macchina virtuale | ||
180 | -6 | getCurrentThread | currentThread | |||
10 | 186 | 7 | di quanto che ci | di quanto ci | ||
11 | 189 [1.08] | -3 | 434 chars, 109 spaces | 434 caratteri, 109 spazi | ||
200 | 22 | PipedInputStream | PipedOutputStream | |||
200 | 23 | PipedOutputStream | PipedInputStream | |||
12 | 219 | -4 | nextElement() | [a rigore, in base alla spiegazione, occorrerebbe aggiungere alle dichiarazione di nextElement()la clausola throws NoSuchElementException. Per altro il sorgente dell'interfaccia java.util.Enumeration non include per questo metodo la suddetta clausola. Se poi si guarda, ad esempio, il sorgente di java.util.HashTable che implementa il metodo, pur sollevando in un caso l'eccezione (con l'istruzione throw) non include la clausola throws dopo il prototipo. Questo è probabilmente da imputare al fatto che comunemente si evita di incorrerere nella condizione che solleva l'eccezione perché si fa usualmente condizionare la chiamata a nextElement() dal risultato della chiamata hasMoreElements(). In questo modo si evita di dover inserire la chiamata a nextElement() in un blocco try-catch, semplificando il codice. [1.07] Queste valutazioni portano a definire NoSuchElementException come eccezione non controllata (è infatti derivata da RuntimeException), da cui come detto segue che la clausola throws non deve comparire.] | ||
221 | 4 | return null | throw new NoSuchElementException() [in armonia con il precedente commento] | |||
223 | 5 | Object.equal | Object.equals | |||
229 | 2 | mente sono | mento sono | |||
236 | 8 | che deve essere almeno 1900 | . L'anno effettivo sarà year+1900. | |||
237 | -5--4 | tra i valori 0.0 (compreso) e 1.0 (escluso). | tra i due valori Long.MIN_VALUE e Long.MAX_VALUE compresi. [1.10] | |||
238 | 3 | tra i due valori Double.MIN_VALUE e Double.MIN_VALUE compresi. | tra i valori 0.0 (compreso) e 1.0 (escluso). | |||
13 | 250 | 2 | dell'oggetto, | dell'oggetto (ad esclusione della classe Character che non l'ha). | ||
250 | -8--6 | [spiegazione di digit] | [si prenda per buona quella di pag. 252 | |||
252 | 17 | digit(char ch, radix) | digit(char ch, int radix) | |||
252 | 21-23 | [spiegazione di forDigit] | [si prenda per buona quella di pag. 250 | |||
14 | 261 | 8 | System.exec | Runtime.exec | ||
261 | 20-21 | precedente | seguente | |||
267 | 21 | per i tipi float e double | per il tipo float e (long)floor(x+0.5) per il tipo double | |||
Appendice A | 288 | 5 | funzione EE | funzione ee |
Vedi http://www.horstmann.com/corejava/bugs.html
Vedi http://www.cs.brown.edu/courses/cs016/book/textbook/errata.html