Significato notazione (T...a)

di il
4 risposte

Significato notazione (T...a)

Ho trovato in un frammento di codice questa notazione:
public static <T> List<T> asList(T... a) {
        return Arrays.asList(a);
    }
Mi riferisco a questa:

<T> List<T> asList(T... a)

Mi spieghereste gentilmente il significato? Non so come si chiami e su internet non la trovo.

Grazie

4 Risposte

  • Re: Significato notazione (T...a)

    davide.fruci ha scritto:


    <T> List<T> asList(T... a)

    Mi spieghereste gentilmente il significato? Non so come si chiami e su internet non la trovo.
    Sono i metodi(/costruttori) "varargs" ovvero con un numero variabile di argomenti e sono stati introdotti in Java 5.
    Le regole basilari per definire un metodo varargs sono relativamente poche e semplici, le puoi trovare online o su qualunque buon libro che copre almeno Java 5.

    Il metodo che hai mostrato usa anche i generics (Java 5) per definire un metodo "generico" con una sua type variable T.
  • Re: Significato notazione (T...a)

    Grazie, ora mi informo per bene.

    Buona giornata
  • Re: Significato notazione (T...a)

    Ciao, xx(T... a) e' uguale a xx(T[] a) , anche nell'utilizzo del parametro all'interno della funzione. L'unica differenza e' nell'utilizzo della funzione: infatti nel primo caso il compilatore di fatto trasforma la chiamata creando l'array per te .
    xx("a","b") --> xx(new String[] {"a","b"})

    per ovvie ragioni in un metodo o funzione il parametro vararg deve sempre essere l'ultimo

    xx(String nome, Object... interessantiParametri)
  • Re: Significato notazione (T...a)

    Ti ringrazio!
Devi accedere o registrarti per scrivere nel forum
4 risposte