che differenza c'è tra:
ecodice:pippo =(String) value.get(key);
??codice:pippo = value.get(key).toString;
GRAZIE ANTICIPATAMENTE
che differenza c'è tra:
ecodice:pippo =(String) value.get(key);
??codice:pippo = value.get(key).toString;
GRAZIE ANTICIPATAMENTE
Tony
Il primo e' un cast e il secondo un metodo.
Detto terra terra:
In java tutti gli oggetti sono sottoclassi di Object che implementa il metodo toString in maniera banale (quindi una classe ha il metodo toString implementato da Object se non sovrascritto dalla classe stessa o da qualche sua superclasse).
Di conseguenza toString non fallisce mai, e restituisce la Stringa secondo l'implementazione del metodo.
Il secondo essendo un cast segue tutte le regole dei cast.
Se lo applichi ad una stringa, tutto ok, se lo applichi ad un oggetto di tipo non stringa da errore.
Se e' un Object te lo da a runTime con un ClassCastException, altrimenti nemmeno ti fa compilare.
codice:public static void main(String[] args) { Integer a = new Integer(100); System.out.println(a.toString()); try { Object obj = (Object)a; String s = (String)obj; System.out.println(s); } catch(Exception e) { e.printStackTrace(); } }