Newsgroup: it.comp.java
Titolo: Non riesco a capire la differenza...

Che differenza c'č tra Character e char??
Scusate l' ignoranza ma non riesco a capirlo...
Mentre Character č presente nella guida, non trovo nessun riferimento su
char..
Mi date qualche suggeriemnto.. non ci sto capindo piů niente...
Grazie

 ha scritto nel messaggio
news:C9Ry9.3558$5a.2...@tornado.fastwebnet.it...


> char è un tipo semplice Character è un'oggetto
Ok questo l' avevo capito.. cmq grazie.
Non riesco a capire che cosa posso fare sull oggeto semplice char.. quale
metodi posso utilizzare?
quelli di character non me li prende...

 > char č un tipo semplice Character č un'oggetto


Ti ringrazio cmq non riesco a capire ho un po di confusione..
Se mi puoi aiutare leggi il post sopra..

Usando termini ormai obsoleti ... ;-)
La differenza e che char,int,string sono tipi Primitivi (cioe non 
evoluti!NO scherzo!!!) di Java pertanto parte del linguaggio (Reserved 
Words) mentre Character, String, Integer sono paragonabili ai vecchi 
tipi definiti dall'utente!Scusami la definizione un po antiquata ma e 
fondamentalmente cosi.
[Character] e una classe definita dall'utente (in questo caso la SUN 
stessa) mentre [char] no!Perche [char] NON E UNA CLASSE e questo e un 
peccato!Se tu volessi e ne fossi capace ti potresti costruire un tuo 
XCharacter che fa le stesse cose di [Character] e anche di piu!Ma visto 
che c'e' ... ;-) Mentre [char] e cosi e te lo tieni cosi!Solo cambiando 
le specifiche del linguaggio e della VM puoi cambiare il comportamento 
del tipo [char].
Questo e quello che so!
Scaricati un po di documentazione ....
Ciao!


Ti ringrazio dell' eusariente spiegazione. :::--)))
Ciao

Che differenza c'è tra Character e char??
Come ti hanno detto, Character e' una _classe_,
char e' un _tipo semplice_. Ad ogni tipo semplice corrisponde una classe:
Tipo semplice      Classe "wrapper"
-------------      ----------------
int                Integer
boolean            Boolean
char               Character
float              Float
double             Double
Ora, quale e' la differenza tra tipo semplice e classe?
Istanziando una classe (con l'operatore new) ottieni l'allocazione, nella
memoria "heap", di un oggetto.
Persona p = new Persona("Ciccio","Mbaciccio");
p e' il _riferimento_ (per dirla "alla C": e' un puntatore) all'oggetto
memorizzato nell'heap. La distruzione dell'oggetto avverra' quando il
garbage collector si accorgera' che non serve piu' (e non si puo' sapere a
priori quando il garbage collector entrera' in azione).
Un tipo semplice
int x=3;
risiede invece nello stack. Cosi' facendo allochi una variabile intera "x"
nello stack, e "x" indica proprio lo spazio di memoria dove l'intero e'
memorizzato.
Perche' c'e' questa dualita'?
Il motivo e' questo: supponi di dover usare un contenitore, ad esempio
LinkedList:
LinkedList lista = new LinkedList();
esiste il metodo
void addLast(Object o)
quindi, chiamarlo con 
lista.addLast(3)
NON E' LECITO, in quanto "3" non e' un oggetto! Devi quindi convertirlo in
un oggetto:
lista.addLast(new Integer(3));
Se hai un oggetto Integer e vuoi prenderne il valore:
Integer x = new Integer(3);
allora fai
int y = x.intValue();

Purtroppo [3] non e` un oggetto!!!! Questo e un peccato!!! :-(
Magellano


Purtroppo [3] non e` un oggetto!!!! Questo e un peccato!!! :-(
E' una delle "incoerenze" di Java.
C#, che ha preso a piene mani da Java, implementa il meccanismo di
"boxing-unboxing" per ovviare a tale inconveniente. In pratica, un passaggio
automatico da oggetto a tipo semplice e viceversa, una specie di "cast"
(senza che debba preoccuparsene il programmatore).

memorizzato.
Aggiungo: una variabile di tipo semplice viene distrutta nel momento in cui
il flusso di controllo esce dal suo campo di visibilita'. Sai quindi a
priori quando tale variabile viene eliminata dallo stack.
Inoltre... anche i _riferimenti_ agli oggetti risiedono nello stack (non gli
oggetti, che invece risiedono nell'heap!), e anche tali riferimenti vengono
quindi persi al di fuori del loro campo di visibilita'.

Dai?
E pensare che una volta (anche oggi) c'era gia 
tutto!Smalltalk.......!Bastava copiare! ;-)
Magellano


Che differenza c'č tra Character e char??
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/index.html
Siccome continui a fare domande piů o meno dello stesso tipo, immagino che 
tu non abbia i riferimenti alla documentazione *essenziale*.
A dire il vero il buon newbie dovrebbe cercare nei post vecchi i 
riferimenti, ma... :-)
http://groups.google.com
http://space.tin.it/computer/csadun/javafaq.html
http://java.sun.com/docs/books/tutorial/
http://www.bruceeckel.com/Books/TIJ
...oltre ovviamente alla documentazione delle classi.
HTH
-- 
Ciao
	Fabrizio C.

 Non riesco a capire che cosa posso fare sull oggeto semplice char
Il fatto e' che char non e' un oggetto, e' un tipo concreto o primitivo.
Quando ti riferisci impropriamente all'oggetto char, allora stai indicando
un oggetto della classe Character, quest'ultima e' una classe wrapper che
incapsula al suo interno un singolo attributo cioe' il tipo concreto char
e fornisce una serie di servizi o metodi... tutto qua ^_^

 tutto!Smalltalk.......!Bastava copiare! ;-)
il fatto e' che chi ha copiato ha copiato male ^_^