Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361

    [Java] Istanziare array nel richiamo di un metodo

    Ciao a tutti, ho una domanda un po' stupida che mi ronza in testa, ma chiedo lo stesso aiuto a voi :
    E' possibile istanziare un Array dentro alle parentesi che specificano i parametri da passare a un metodo?
    L'utilità sarebbe solo il risparmiare decine di righe di codice e averlo più compatto,quindi non è così urgente come cosa.

    Poniamo di avere un metodo come questo:

    codice:
    public static void nascondiComponenti(int[] nascondi)
    {
         
    }
    Mi piacerebbe poter evitare di scrivere:

    codice:
    ....
    int[] componenti={0,1,2,4,7,9};
    nascondi(componenti);
    .....
    E poter fare invece qualcosa del tipo nascondi (int[] componenti={0,1,2,4,7,9}) o comunque poter passare un vettore creato al momento.

    Ho visto ad esempio che la classe Array ha questo metodo:

    newInstance(Class<?> componentType, int length)Creates a new array with the specified component type and length.

    Cerco qualcosa di simile se esiste, avrei bisogno di qualcosa che non specifichi solo il tipo di componenti e la lunghezza ma anche ogni singolo componente.

    Scusate la domanda un po' assurda

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Certo, è possibile:

    codice:
    public class Prova {
       public static int somma(int[] array) {
          int ret = 0;
          for(int i : array) ret += i;
          return ret;
       }
    
       public static void main(String[] args) {
          System.out.println( somma(new int[] {5, 7, 8, 9, 2, 5, 4}) );
       }
    }

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Accidenti pensavo di aver provato anche quel tipo di dichiarazione.

    Grazie e scusa la banalità della domanda

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Accidenti pensavo di aver provato anche quel tipo di dichiarazione.
    Quello (mostrato da Lele) si chiama anonymous array.

    Il newInstance che hai visto funziona ma ovviamente è tramite la API della "reflection", che ha senso solo in certi/pochi scenari.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.