Come creare un metodo che prende la lista degli array come argomento?

-5

Per creare un metodo che accetta un array come argomento, dovresti fare questo:

public static void printAges(int[] age) { // prints ages to screen
    for (int x = 0; x < age.length; x++) {
        System.out.println("Age: " + age[x]);
    }
}

Come crei un metodo come questo con un'eccezione, che richiede un elenco di matrici come argomento invece di un array?

Grazie. - Krishna

    
posta Krish 01.09.2017 - 00:14
fonte

1 risposta

2
  1. Le best practice dovrebbero generalizzare l'argomento in modo tale che invece di lavorare con la classe concreta ArrayList si lavori con un'interfaccia astratta, qui List . In questo modo sarai in grado di riutilizzare questa implementazione per ogni classe che supporta List , non solo ArrayList .

  2. Si sta eseguendo un ciclo sull'array utilizzando una variabile di controllo del ciclo byte . Questo è piuttosto inusuale (cioè soggetto a errori). Per tua informazione, non vi è alcun guadagno in termini di prestazioni per la variabile byte -typed su un tipo di int più atteso. Il tipo byte inizierà a fallire con numeri maggiori di 7 bit (ad esempio 128). Suggerisci di utilizzare il tipo int per il controllo loop integrale e le variabili di indicizzazione.

  3. Ci sono buone alternative all'utilizzo del ciclo basato sull'incremento di un intero. foreach è un costrutto e lambda è un altro. Questi costrutti funzioneranno meglio attraverso l'ampio set di classi che implementano l'interfaccia List . Il costrutto foreach usa un iteratore, che è facile da usare e sotto le copertine è specializzato dalla collezione specifica utilizzata. L'approccio lambda usa un'operazione map -style in cui si fornisce una funzione da invocare su ciascun elemento, lasciando l'iterazione totalmente fuori dal codice. La composizione di supporto di Lambda, quindi puoi filtrare prima della mappatura, per esempio.

risposta data 01.09.2017 - 01:21
fonte

Leggi altre domande sui tag