Lista konvertálása karakterláncra Java-ban

1. Bemutatkozás

Ebben a rövid cikkben megnézzük, hogyan lehet a Lista elemekből a Húr. Ez bizonyos esetekben hasznos lehet, például a tartalom ember számára olvasható formában történő kinyomtatásához a konzolra ellenőrzés és hibakeresés céljából.

2. Standard toString () rajta Lista

Az egyik legegyszerűbb módszer a toString () módszer a Lista:

@Test public void whenListToString_thenPrintDefault () {List intLIst = Arrays.asList (1, 2, 3); System.out.println (intLIst); }

Kimenet:

[1, 2, 3]

Ez a technika belsőleg használja a toString () módszer az elemek típusának a Lista. Esetünkben a Egész szám típus, amely megfelelően végrehajtja a toString () módszer.

Ha egyéni típusunkat használjuk, mondjuk: Személy, akkor meg kell győződnünk arról, hogy a Személy osztály felülírja a toString () módszer, és nem támaszkodik az alapértelmezett megvalósításra. Ha a toString () a módszer nincs megfelelően végrehajtva, váratlan eredményeket kaphat:

[[email protected], [email protected], [email protected]]

3. Egyedi megvalósítás Gyűjtők

Gyakran előfordulhat, hogy más formátumban kell megjelenítenünk a kimenetet.

Az előző példához képest cseréljük le a vesszőt (,) kötőjellel (-), a szögletes zárójeleket [[,]) pedig göndör zárójelek ({,}) halmazával:

@Test public void whenCollectorsJoining_thenPrintCustom () {List intList = Arrays.asList (1, 2, 3); Karakterlánc eredménye = intList.stream () .map (n -> String.valueOf (n)) .collect (Collectors.joining ("-", "{", "}")); System.out.println (eredmény); }

Kimenet:

{1-2-3}

A Collectors.joining () módszer megköveteli a CharSequence, ezért kell térkép a Egész szám nak nek Húr. Ugyanez az ötlet felhasználható bármely más osztály esetében, még akkor is, ha nincs hozzáférésünk az adott osztály kódjához.

4. Külső könyvtár használata

Most látni fogjuk az Apache Commons használatát StringUtils osztályban a hasonló eredmények elérése érdekében.

4.1. Maven-függőség

 org.apache.commons commons-lang3 3.6 

A függőség legújabb verziója itt található.

4.2. Végrehajtás

A megvalósítás szó szerint egyetlen metódushívás:

@Test public void whenStringUtilsJoin_thenPrintCustom () ")); 

Kimenet:

1|2|3

Ez a megvalósítás megint belsőleg függ a toString () az általunk fontolóra vett típus megvalósítása.

5. Következtetés

Ebben a cikkben láttuk, hogy milyen egyszerű konvertálni a Lista a Húr különböző technikákat alkalmazva.

Mint mindig, a cikk teljes forráskódja megtalálható a GitHubon.