Problema con un metodo

di il
1 risposte

Problema con un metodo

Ciao ragazzi, svolgendo un esercizio in Java mi è capitato di ottenere come output un “codice” tipo [I@2f92e0f4. Credo di aver capito a cosa sia dovuto, ma non so come risolverlo.
In pratica l’esercizio mi chiede di scrivere un metodo che restituisca un HashMap<Object, Int []> m4(...). Quando poi lo vado a richiamare nel main, scrivo System.out.print(s.m4(...)); .
Ecco, io penso sia qui l’errore, non posso richiamare un HashMap che come valore abbia un array in questo modo. Cercando sul libro di testo che ho utilizzato non ho trovato granché su come risolvere... Qualcuno potrebbe darmi una mano?

1 Risposte

  • Re: Problema con un metodo

    Biagio97 ha scritto:


    Ciao ragazzi, svolgendo un esercizio in Java mi è capitato di ottenere come output un “codice” tipo [I@2f92e0f4.
    Questo è il risultato del toString() su un oggetto. E in modo specifico è la stringa risultante dal toString() su un array int[] .
    Gli array (purtroppo) NON ridefiniscono il metodo toString() e rimane quindi quello di Object che fornisce quella forma.
    Non puoi fare nulla per cambiare quella forma, è una cosa intrinseca degli array.

    Biagio97 ha scritto:


    ma non so come risolverlo.
    Se hai un array, semplicemente NON puoi stamparne il contenuto con un banale System.out.println(tuoArrayInt) perché appunto dà solo quella forma che non è modificabile.

    Banalmente ti basta o fare un ciclo for e stampare ciascun elemento dove/come gradisci, oppure puoi usare Arrays.toString(tuoArray) che dà una forma fissa del tipo [nn, mm, ......]
    (nota: Arrays è java.util.Arrays)
Devi accedere o registrarti per scrivere nel forum
1 risposte