Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14

    Che significato ha questa sintassi Java

    Ho trovato questa sintassi:

    new Class[]{new Object().getClass()}

    Mi spiegate che significato hanno le graffe dopo le quadre? []{}
    Quindi che significato ha l'espressione sopra?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    In genere è

    codice:
    Class [] classes = new Class[] {Object.getClass()};
    new Class[] ti dice che è un array

    sai che l'array puoi istanziarlo specificando il contenuto, cosa che fai con quello tra parentesi graffe (solo Object.class)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14
    Riporto la sintassi completa:

    Class cl;
    try {
    Method currentMethod = cl.getMethod( "equals", new Class[]{new Object().getClass()});

    etc
    etc

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    stai usando la reflection, richiedendo alla classe in oggetto il metodo equals con parametro Object.
    codice:
    Method currentMethod = cl.getMethod( "equals", new Class[]{new Object().getClass()});
    questa potevi scriverla così

    codice:
    Class [] classes = new Class[] {new Object().getClass()};
    Method currentMethod = cl.getMethod( "equals", classes);
    ricordando dalle API che

    il primo parametro indica il nome del metodo, a seguire vai ad indicare invece un numero variabile di oggetti Class che rappresentano i parametri del metodo.

    i 3 puntini nella definizione indicano i varargs (numero variabile di argomenti) che sintetizzi in un singolo argomento (l'array definito)

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.