Attualmente sto riscoprendo Java (lavorando molto con Ruby di recente) e adoro il controllo in tempo reale di tutto. Rende il refactoring così facile. Tuttavia, mi manca giocare veloce e loose con i tipi per fare un ciclo each
. Questo è il mio peggior codice.Trucchi linguistici per abbreviare il mio codice Java?
È il più breve possibile? Ho una raccolta chiamata looperTracks
, che ha istanze che implementano Looper
. Non voglio modificare quella raccolta, ma voglio scorrere i suoi membri PIÙ il this
(che implementa anche Looper
).
List<Looper> allLoopers = new ArrayList<Looper>(looperTracks.length + 1);
for (LooperTrack track : looperTracks) {
allLoopers.add(track);
}
allLoopers.add(this);
for (Looper looper : allLoopers) {
// Finally! I have a looper
Sono particolarmente preoccupato per tutte le funzioni che sono nuovi per Java 1.5 su quel forse ho perso. Per questa domanda sono non chiedendo di JRuby e Groovy, anche se so che avrebbero lavorato per questo.
Edit: (! Troppo Ruby) Siamo spiacenti ... looperTracks
è di tipo LooperTrack[]
e LooperTrack
implementa Looper
.
Copiare un elenco solo per poter utilizzare un ciclo for-each è un'idea orribile. In casi come questi non è male fare un'iterazione in due passaggi. – kgiannakakis
Grazie kgiannakakis, fa parte della "preoccupazione" –
Non è una cattiva idea categoricamente. È una cattiva idea SE degrada le prestazioni a qualsiasi livello problematico. –