Non riesco a spiegarmi, in effetti rileggendomi non sono stato chiaro, ci riprovo:
metti che da un altro pianetati arrivi un contenitore di oggetti, ad esempio un Vector. Tu non hai idea di cosa c'è dentro, sai solo che il metodo get(index) di Vector ti restituisce un Object.
Questi Object potrebbero essere oggetti String, Integer, Date, Hashtable, etc... ma tu non lo puoi sapere perchè il Vector lo ha riempito un "alieno".
Per semplificare poniamo pure che questo Vector contenga 3 oggetti diversi, un Integer, uno String e un Date.
Adesso mi metto a scandire il mio Vector, la prima chiamata di get(index) mi restituirà un Object che io potrò "castare" ad Integer per ottenere un oggetto "del tipo giusto".
Ora, come si è già detto posso fare:
Ma quello che volevo sapere io è: visto che obj.getClass() mi dà direttamente il nome della classe esiste un modo per creare subito una variabile "oggetto" del tipo giusto senza dover fare tutti quegli if?codice:if (obj instanceof Integer) { Integer oggetto = (Integer)obj } elseif (obj instanceof String) { String oggetto = (String)obj } elseif (obj instanceof Date) { Date oggetto = (Date)obj }
Una cosa del tipo
Object obj = vector.get(0);
Class classe = obj.getClass();
classe oggetto = (classe)obj // questo è sparato a caso
Arigrazie![]()