Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    [JAVA2] <Cast o metodo ToString?> Differenza

    che differenza c'è tra:

    codice:
    pippo =(String) value.get(key);
    e

    codice:
    pippo =  value.get(key).toString;
    ??

    GRAZIE ANTICIPATAMENTE
    Tony

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    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();
            }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.