Javassa streamien ja merkkijonojen kanssa työskentely on olennainen osa kehittäjän päivittäistä työtä. StringJoiner-luokan toimivuutta tässä yhteydessä ei voi aliarvioida. Java 8:ssa esitelty StringJoiner on apuohjelmaluokka, joka muodostaa merkkijonon, joka on erotettu erottimella ja mahdollisesti suljettu etuliitteellä ja päätteellä. Tämä auttaa suorittamaan tehtäviä, kuten merkkijonojen tai merkkien virran yhdistämisen erottimella, varsinkin kun työskentelet Streams API:n kanssa.
Tämä apuohjelma, joka on rakennettu java.util-paketin alle, edustaa yksinkertaisuutta, tehokkuutta ja joustavuutta, mikä tekee siitä tärkeän työkalun kehittäjille. StringJoiner-luokka eliminoi hankalan prosessin, joka koskee erottimien manuaalista käsittelyä, mikä vähentää merkittävästi virheiden mahdollisuutta.
Ongelma
Hyvin usein Java-virtoja käsitellessään jokainen kehittäjä kohtaa haasteen yhdistää merkkijonoja tai muita objekteja, jotka ovat itse joidenkin toimintojen tulosta, yhdeksi merkkijonoksi tietyllä erottimella. Perinteiset menetelmät käsittäisivät lisäsilmukoiden kirjoittamisen ja poikkeuksien käsittelyn tämän saavuttamiseksi, mikä tekee koodista monimutkaisemman ja vähemmän luettavan.
Ratkaisu: StringJoiner-luokka
StringJoiner-luokka tarjoaa sopivan ratkaisun tähän ongelmaan. Sitä voidaan käyttää merkkijonojen ketjuttamiseen tehokkaammin ja ymmärrettävämmällä tavalla. Se sisältää java.util.StringJoiner-luokan esiintymän luomisen ja merkkijonojen lisäämisen siihen käyttämällä "add()"-menetelmää.
StringJoiner joiner = new StringJoiner(", ");
joiner.add("one");
joiner.add("two");
String joined = joiner.toString();
StringJoineriin liittyvien menetelmien avulla voimme tarjota etuliitettä ja päätettä sekä soveltaa ehtoja, kuten tyhjien luetteloiden käsittelyä ja oletustekstin asettelua tyhjille listoille.
Koodin vaiheittainen selitys
StringJoiner-luokan käyttö on yksinkertaista. Näin sitä voidaan käyttää:
1. Luo StringJoiner-instanssi määrittämällä erotin rakentajan sisällä. Tätä merkkiä käytetään yhdistettävien merkkijonojen välissä.
StringJoiner joiner = new StringJoiner(", ");
2. Lisäät merkkijonoja tai muita objekteja (jotka toteuttavat toString()-menetelmän) StringJoiner-instanssiin käyttämällä add(…)-menetelmää:
joiner.add("one");
joiner.add("two");
3. Lopuksi saadaksesi yhdistetyn merkkijonon kutsu toString()-metodi StringJoiner-instanssissa.
String joined = joiner.toString();
Yhdistetty muuttuja sisältää nyt arvon "one, two".
Javan lisäfunktiot ja kirjastot, jotka liittyvät merkkijonojen yhdistämiseen
Java 8 esitteli myös toisen menetelmän merkkijonojen liittämiseen: String.join(). Lisäksi java.util.stream.Collectors-kirjaston Collectors.joining()-metodi on myös korostamisen arvoinen. Tämän menetelmän avulla voimme yhdistää virtoja erottimilla, mikä tarkoittaa, että voit yhdistää merkkijonoja ja muita objekteja suoraan virrasta.
Java on tarjonnut meille tehokkaita ja yksinkertaistettuja ratkaisuja merkkijonojen tai objektien ketjuttamiseen erottimilla muodossa StringJoiner, String.join() ja Collectors.joining(). Nauti näiden toimintojen tutkimisesta tulevissa kehityskäytännöissäsi!