Java/Tipi di dato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
contenuto
m fixes
Riga 90:
in quanto la conversione viene tradotta automaticamente dal compilatore.
 
La conversione da tipo primitivo a tipo wrapper è detta ''autoboxing'',<ref group="fonteF">[http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.7 The Java Language Specification, Chapter 5]</ref><ref group="fonteF">[http://download.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html Java Programming Language, Autoboxing]</ref> mentre la conversione inversa è detta ''unboxing''<ref group="fonteF">[http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.8 The Java Language Specification, Chapter 5]</ref>. Si noti che questi due meccanismi non cambiano il fatto che i tipi primitivi sia '''distinta e separata''' dalla famiglia dei tipi riferimento: essi sono solo zucchero sintattico tradotto dal compilatore in una forma equivalente, ma più lunga da scrivere, perché coinvolge l'invocazione a metodi o costruttori della classe del tipo wrapper in uso; quindi, in definitiva, non cambiano il fatto che i tipi primitivi siano '''distinti e separati''' dai tipi riferimento.
 
== Le stringhe ==
Una stringa è un'istanza della classe <tt>String</tt>: un oggetto che incapsula una sequenza di caratteri.<br/>
Esistono molte classi per la manipolazione delle stringhe. Quelle più comunemente utilizzate sono definite nel package <tt>java.lang</tt> e sono:
*String (stringhe: oggetti immutabili, quindi [[Java/Multithreading|thread-safe]]);
*StringBuffer (oggetti modificabili e [[Java/Multithreading|thread-safe]]);
*StringBuilder (oggetti modificabili e non thread-safe; presente dalla versione 1.5 in poi).
Riga 110:
System.out.println(s1+", amico, "+s2);
</source>
*IlSi confrontopossono diconfrontare le stringhe avviene tramiteattraverso il metodo <tt>equals</tt> (confronto ''case-sensitive'' con un altro oggetto String), o uno dei metodi <tt>equalsIgnoreCase</tt> (confronto ''case-insensitive'' con altro oggetto String),. unoEsistono deianche altri metodi, <tt>contentEquals</tt>riportati (confrontonella ''case-sensitive''documentazione con oggetto di altradella classe).
:'''Nota''': le stringhe si confrontano con il metodo ''equals'', ''non'' con l'operatore <code><nowiki>==</nowiki></code>. Infatti, due stringhe possono essere uguali pur essendo contenute dain due oggetti diversi:
<tt>String s = new String("Ciao");</tt>
<tt>String t = new String("Ciao");</tt>
<tt>assert s.equals(t); // true</tt>
<tt>assert s == t; // false</tt>
*Il numero di caratteri di una stringa si ottiene invocando il metodo <tt>length()</tt>.
 
; Stampa a video
<source lang="Java">
System.out.println(s1);
</source>
 
 
; Determinare la lunghezza di una stringa
<source lang="Java">
String s1="ciao";
//mostrerà 4
System.out.println(s1.length());
</source>
 
== Note ==
Line 135 ⟶ 122:
<references/>
; Fonti
<references group="fonteF"/>
 
[[Categoria:Java|Tipi di dati]]