Ažuriranja API-ja niza u Javi 12
1. Uvod
Java 12 dodala je nekoliko korisnih API-ja u Niz razred. U ovom uputstvu istražit ćemo te nove API-je s primjerima.
2. uvlaka ()
The uvlaka () metoda prilagođava uvlačenje svakog retka niza na temelju argumenta koji mu je proslijeđen.
Kada uvlaka () poziva se na niz, poduzimaju se sljedeće radnje:
- Niz je konceptualno odvojen u crte pomoću linije (). linije () je String API uveden u Javi 11.
- Zatim se svaki redak podešava na temelju int argument n prebačen na njega, a zatim sufiksiran s dodavanjem retka "\ n".
- Ako n > 0, onda n razmaci su umetnuti na početak svakog retka.
- Ako n<0, onda don razmaci se uklanjaju s početka svakog retka. U slučaju da zadani redak nema dovoljno razmaka, uklanjaju se svi vodeći razmaci.
- Ako n == 0, tada linija ostaje nepromijenjena. Međutim, linijski završnici su i dalje normalizirani.
- Dobiveni redovi se zatim spajaju i vraćaju.
Na primjer:
@Test public void whenPositiveArgument_thenReturnIndentedString () {String multilineStr = "Ovo je \ na višeredni \ nstring."; String outputStr = "Ovo je \ n višeredni \ n niz. \ N"; Niz postIndent = multilineStr.indent (3); assertThat (postIndent, jednakTo (outputStr)); }
Možemo proći i negativan int za smanjenje uvlačenja niza. Na primjer:
@Test public void whenNegativeArgument_thenReturnReducedIndentedString () {String multilineStr = "Ovo je \ n višeredni \ n niz."; String outputStr = "Ovo je \ n višeredni \ n niz. \ N"; Niz postIndent = multilineStr.indent (-2); assertThat (postIndent, jednakTo (outputStr)); }
3. transformirati()
Možemo primijeniti funkciju na ovaj niz pomoću transformirati() metoda. Funkcija treba očekivati jednu Niz argument i proizvesti rezultat:
@Test javna praznina whenTransformUsingLamda_thenReturnTransformedString () {String rezultat = "hello" .transform (input -> input + "world!"); assertThat (rezultat, jednakTo ("zdravo svijetu!")); }
Nije potrebno da izlaz mora biti niz. Na primjer:
@Test public void whenTransformUsingParseInt_thenReturnInt () {int result = "42" .transform (Integer :: parseInt); assertThat (rezultat, jednakTo (42)); }
4. Zaključak
U ovom smo članku istražili novo Niz API-ji u Javi 12. Kao i obično, isječke koda možete pronaći na GitHub-u.