2011-12-28 10 views
5

Titolo strano, lo so, lasciatemi spiegare.Come imparo a utilizzare le risorse di comunione Java?

Sono uno sviluppatore più familiare con C# e Javascript. Sono completamente immerso in quei mondi semi-funzionali al punto che gran parte del mio codice riguarda la mappatura/riduzione/filtraggio delle collezioni. In C# significa che utilizzo LINQ praticamente ovunque, in Javascript è Underscore.js e jQuery.

Attualmente sono stato assegnato a un progetto Java in corso e mi sento piuttosto soffocato. Semplicemente non penso in termini di "creare un array, mescolare le cose da una all'altra". Posso (e ho fatto) creare le mie versioni della mappa principale/ridurre le funzioni usando tipi anonimi che implementano le interfacce ma perché reinventare la ruota? Il progetto in cui sono attualmente ha commons-collections-3.1.jar e guardando attraverso le classi contenute sembra che possa fare tutto ciò che voglio e altro ancora.

Per la vita di me, non riesco a trovare il modo di usarlo effettivamente. Guardando attraverso le dozzine di classi in esso non è molto utile e l'unica cosa che posso google su is the api doc che è altrettanto utile.

Come si usa su Mappa/Seleziona, Filtro/Dove, Riduci/Aggrega? C'è un posto che offre un vero tutorial su questa libreria?

+0

Prenota - Cookbook di Giacarta Commons http://shop.oreilly.com/product/9780596007065.do?CMP=ILL-4GV796923290 – adatapost

+3

Ricorda che le raccolte di Commons sono piuttosto obsolete e non supportano i farmaci generici. – BalusC

+0

Ugh, sul serio? Bene, non lo userò allora. Cos'è un pacchetto che offre capacità di elaborazione della raccolta E supporta i farmaci generici? –

risposta

4

(commento come risposta per scopi formattazione.)

Non tanto, altro che la limitata user guide.

Detto questo, non sono sicuro di dove si stiano riscontrando problemi specifici: il filtro e la selezione sono per lo più racchiusi nello functors package e utilizzati dalla classe CollectionUtils.

Mentre non siete in cerca di un sostituto, si potrebbe trovare cose come Guava o Lambda4J un po 'più simile a quello che si è abituati a (entro i vincoli di Java), e sono un po' meno prolisso.

+0

Ah CollectionUtils è quello che stavo cercando. Questo dovrebbe essere sufficiente per farmi iniziare ma santo dio questi ragazzi hanno bisogno di ottenere la loro documentazione in uno stato veramente utile. Anche quel link alla classe diretta che voglio non contiene esempi di utilizzo, ho avuto la fortuna di riconoscere alcune delle firme dei metodi come quelle che avevo implementato personalmente. –

+0

@GeorgeMauer Penso che sia una di quelle cose in cui è stato intorno così a lungo si presume che tutti abbiano appena imparato attraverso l'osmosi;) –

+0

Ho l'impressione che tutto Java sia così :) –

1

@ george-mauer, potrebbe essere necessario fare affidamento su articoli come this o un libro come Jakarta Commons Cookbook. Ho anche trovato piuttosto utile imparare creando dei campioni personali.

+0

Hmm, quel link parla semplicemente di implementatori di interfacce anonime e di certo non cercherò/leggerò un libro per un progetto di diversi mesi. che PITA –

Problemi correlati