Programmēšana

Pāru klase Vai nākat uz Java, izmantojot JavaFX?

Pāru klase ir pazīstama tiem no mums, kuri ir lietojuši C ++ ievērojamu laiku. Lai gan ir runāts par tā pievienošanu Java kā SDK standarta sastāvdaļai, tā ir nedaudz pretrunīga tēma. Vairāki ļaudis to ir oficiāli pieprasījuši, un pat ir iesniegtas kļūdas (4947273, 4983155 un 6229146), lai to iegūtu Java. Ziņā, kurā uzdots jautājums, vai mēs vēlamies java.util.Pair?, Alekss Millers veic jauku darbu, aptverot abas problēmas puses.

Programma jau ir ieviesta Pāris vai a Pārislīdzīgs ekvivalents tur Java. Līdztekus nezināmajam lokālo kodu bāzē esošo pielāgoto versiju skaitam ir publiski pieejami piemēri, piemēram, tie, kurus nodrošina ziņa Java Pair Class, piemēri, kas sniegti StackOverflow pavedienā, Ideograph Generic Pair un (nav pārsteigums) Java Tuples's Pair. Android SDK ir arī Pair klase. Visvairāk mani pārsteidza JavaFX 2.0 javafx.util.Pair klases esamība.

Pakotnes un klases nosaukums visbiežāk tiek piedāvāts SDK versijai Pāris klase ir bijusi java.util.Pāris un JavaFX versija pakotnes nosaukumā ir līdzīga: javafx.util.Pair. Javap palaišana pret šo klasi JavaFX SDK noved pie šādas izejas.

Sastādīts no "Pair.java" publiskās klases javafx.util.Pair {public K getKey (); public V getValue (); public javafx.util.Pair (K, V); publiskais java.lang.String toString (); public int hashCode (); publiskais būla skaitlis ir vienāds (java.lang.Object); } 

Kā jau iepriekš javap izeja norāda, ka šī ir salīdzinoši vienkārša klase ar pamata parametrizētu konstruktoru, "get" metodēm atslēgas un vērtības daļām Pāris, un "kopīgas" metodes toString (), vienāds (objekts), un hashCode (). Nākamajā kodu sarakstā parādīts, kā tiek izmantots parametrizētais konstruktors, lai nodrošinātu atslēgu un vērtību katram gadījumam Pāris tas tiek instantizēts.

 / ** * Nodrošiniet slavenu pāru kolekciju. * * @return Slavenu pāru kolekcija. * / privāta statiska kolekcija createFamousPairs () {galīgā kolekcija pāri = jauns ArrayList(); pāri.add (jauns pāris ("Yin", "Yang")); pāri.add (jauns pāris ("Darbība", "Reakcija")); pāri.add (jauns pāris ("Sāls", "Pipari")); pāri.add (jauns pāris ("Starsky", "Hutch")); pāri.add (jauns pāris ("Fox", "Mulder")); pāri.add (jauns pāris ("Betmens", "Robins")); pāri.add (jauns pāris ("Fred Astaire", "Ginger Rogers")); pāri.add (jauns pāris ("Flotsam", "Jetsam")); pāri.add (jauns pāris ("Brutus", "Nero")); pāri.add (jauns pāris ("Toms", "Džerijs")); pāri.add (jauns pāris ("Jekyll", "Hyde")); pāri.add (jauns pāris ("Holmes", "Watson")); pāri.add (jauns pāris ("Mario", "Luigi")); pāri.add (jauns pāris ("Pinky", "The Brain")); pāri.add (jauns pāris ("Wallace", "Gromit")); atgriešanās pāri; } 

Piekļuve katra atslēgai un vērtībai Pāris ir arī viegli, kā parādīts nākamajā koda paraugā.

 / ** * Rakstiet paredzēto pāru kolekciju standarta izvadā. * * @param title Standarta izvadā ierakstīta produkta nosaukums. * @param pairsToPrint pāri, kas jāraksta standarta izvadē. * / private static void writeCollectionOfPairs (pēdējais virknes nosaukums, galīgā kolekcija pairsToPrint) {out.println (nosaukums + ":"); for (galīgais Pair pair: pairingsToPrint) {out.println ("\ t" + pair.getKey () + "un" + pair.getValue ()); }} 

Iepriekš minētais piemērs ir samērā izdomāts, taču to varētu uzskatīt par visefektīvāko izmantojumu Pāris jo šajā konkrētajā piemērā tas patiešām ir pārstāvēts "pāra" jēdziens. Viena no lielākajām sūdzībām par pievienošanu Pāris SDK vai vispārīgi lietojot, ir tas, ka tas nav nosaukts pietiekami precīzi, lai aptvertu objekta eksistences uzņēmējdarbības mērķi. Es faktiski biju domājis par JavaFX lietošanu Pāris klase, kad es uzrakstīju savu Ziemassvētku eglītes piemēru ziņai JavaFX 2.0 Ziemassvētku eglīte (JavaFX 2.0 formas). Es beidzot izlēmu pret to un izmantoju piemērotāk nosauktu ligzdu Koordinēt klasē. Tomēr es būtu varējis viegli izmantot Pāris šajā piemērā. Nākamajā kodu sarakstā ir tieši šis piemērs ar ligzdām Koordinēt klase noņemta un atsauces uz to aizstātas ar Pāris.

$config[zx-auto] not found$config[zx-overlay] not found