Allora... c'è da dire che molte persone considerano gli int e gli Integer come delle cose assolutamente identiche ed interscambiabili.
Invece non è così: int è un tipo di dato cosiddetto primitivo, mentre Integer è un oggetto e le due cose sono profondamente diverse.
Questo significa che ci sono vari modi per rappresentare un intero: tramite una variabile di tipo int, oppure tramite un oggetto.
Java offre una classe apposita (detta wrapper) per gli interi chiamata Integer, ma nessuno mi vieta di crearmene una io:
Se io stampo un oggetto di questa classe con un System.out.println() vedrò apparire a video il numero che rappresenta, ma ciò non toglie che io non sto lavorando con un intero, ma con un oggetto di tipo MioIntero.codice:public class MioIntero { private int intero; public MioIntero(int intero) { this.intero = intero; } public int getIntero() { return intero; } public String toString() { return "" + intero; } }
Ora, io non so cosa ritorna il metodo key(), questo devi dirmelo tu.
Se ritorna un intero, nel senso che ritorna un int, allora il metodo getXY() fa qualcosa di estremamente sbagliato: tenta di assegnare un intero ad un oggetto!!
Se, invece, ritorna un oggetto che "rappresenta" un intero, allora il discorso è diverso.
Per sapere che tipo di oggetto ritorna puoi utilizzare questa istruzione:
Ciao.codice:System.out.println(keya.getClass());![]()



Rispondi quotando