Java. Reťazec: metódy, príklady

Java String alebo riadky v jazyku Java sú hlavnými nositeľmi textových informácií, takže táto trieda je populárna a často používaná. Balík Java.lang má niekoľko tried pre prácu s reťazcami - je to StringBuffer a StringBuilder. Sú vyhlásené za konečné - to naznačuje, že tieto triedy nemožno zdediť. Ak chcete toto skontrolovať, otvorte editor a napíšte reťazec slov a potom prejdite na vlastnú triedu. Tu uvidíme, že je konečné - to znamená žiadne dedičstvo.

Metódy vytvárania objektov

Objekt triedy Java String môžete vytvoriť niekoľkými spôsobmi. Jeden z nich používa nové kľúčové slovo a konštruktéra triedy. Ak stlačíte CTRL + P, môžete vidieť všetkých týchto konštruktorov. Java String má reťazec, pole char, int, byte, rovnako ako triedy StringBuffer a StringBuilder. Druhým spôsobom, ako vytvoriť objekt, je priamo priradiť odkaz obsiahnutý v dvojitých úvodzovkách.


Triedy StringBuilder, StringBuffer a ich metódy

Triedy StringBuilder, StringBuffer, sú veľmi podobné a majú byť blízko k triede String. Pomocou metód a konštruktérov sa objekty týchto tried môžu premeniť na seba a do reťazca. Tiež StringBuilder má konštruktory, ktoré majú reťazec a sekvenciu znakov, takže reťazec môže byť konvertovaný na objekty. V oboch prípadoch existuje metóda ToString. Nepatrí do tried StringBuilder a StringBuffer, ale do triedy Object, s ktorou môžu byť privedené do reťazca. Ak stlačíte CTRL + P, môžete vidieť všetky metódy. Hlavným rozdielom medzi týmito dvoma triedami je, že StringBuilder funguje rýchlejšie, ale nie jevlákno bezpečné, na rozdiel od StringBuffer. Bezpečnosť toku je schopnosť kódu okamžite fungovať v niekoľkých prúdoch bez blokovania.


je možné vytvoriť objekt triedy StringBuilder alebo StringBuffer

Pri vytváraní objektu StringBuilder alebo StringBuffer predvolený konštruktor automaticky prideľuje určité množstvo pamäte 16 znakov. To možno overiť pomocou jednej z nich, čo je metóda kapacity a výstup na konzolu. Výsledkom bude veľkosť vyrovnávacej pamäte 16 znakov. Môžete znova stlačiť klávesy CTRL + P a vybrať metódu Int Capacity. To znamená, že v konštruktore môžeme špecifikovať určitú veľkosť vyrovnávacej pamäte. Existuje aj spôsob, ako ju nainštalovať neskôr. Ak to chcete urobiť, vyberte metódu StringBuilder zabezpečenie schopnosti. Pomocou toho môžeme špecifikovať minimálnu garantovanú veľkosť vyrovnávacej pamäte. Ak máte ju zmeniť, napríklad, 20 a reštartujte konzolu, dostaneme 34. Skutočnosť, že je možné nastaviť minimálnu garantovanú sumu, to znamená, že v žiadnom prípade nebude menšia ako 20. Ale ak to trieda je v nejakej metóde alebo konštruktore vzorec, pre ktorý sa počíta prípustná hodnota.

priradiť hodnotu reťazca objektu

Pre priradenie určitého objektu na hodnotu riadku, je nutné pridať túto hodnotu do konstruktoru alebo za použitia jedného zo spôsobov Pripojiť. Existuje mnoho, niektoré z týchto metód môže trvať boolean, a potom ju previesť na reťazec a urobiť nejaké take char, pole, sekvenciu, a tak ďalej. D. Na rozdiel od String, StringBuilder a StringBuffer, keď sú použité ich metódy, budeme aj naďalej pracovať s rovnakým objektomnevytvorte novú

Rozdiely medzi metódami String a StringBuilder

Pri práci s reťazcom, ak používate nejaké metódy, ako je napríklad zreťazenie alebo lepenie objektov, je v tomto prípade vytvorený nový riadok. To sa dá overiť pri výstupe do konzoly. Typicky sa používajú triedy StringBuilder a StringBuffer, keď je pridanie reťazcov veľmi bežné. Napríklad v smyčke, kde je veľké množstvo informácií a vždy existuje rad riadkov, je lepšie ich presne použiť. Tým sa urýchli pracovný tok, pretože StringBuilder robí rýchlejšie, tu nie je trvalé vytvorenie nového objektu.

Metóda SetLength

Pri vytváraní riadkov (pri každom pridaní) sa vytvorí nový objekt. Ak sú viac ako tisíc, potom bude veľa zbytočných zdrojov a proces bude trvať dlho. Tiež v StringBuilder je metóda SetLength, kde môžete nastaviť veľkosť vyrovnávacej pamäte. Napríklad, ak nastavíte 15 a výsledok dostanete do konzoly, dostaneme číslo 20. Tento objekt, keď sa dosiahne požadovaná veľkosť vyrovnávacej pamäte, sa automaticky zvyšuje podľa vzorca uvedeného v tejto metóde. Zvýšenie môže nastať do určitej miery. Napríklad v metóde Kapacita sa maximálny počet znakov v objekte bude rovnať počtu int.

Vložiť a vymazať metódy

Nasledujúca metóda, najčastejšie používaná v StringBuilder, je Insert. Umožňuje vložiť znak do určenej polohy. Má tiež veľa možností. Ďalšou populárnou metódou je odstránenie reťazca. Ak chcete vykonať túto operáciu, prejdite na položku Odstrániť a vyberte položkuje na zozname. Môžete napríklad použiť podreťazec z pôvodného indexu na posledný alebo vymazať znak pomocou jeho indexu.
Posledná metóda StringBuilder, ktorú budeme rozoberať, je Recerse alebo reverse. Používa sa na prerušenie reťazca. Symboly v ňom budú postavené v opačnom poradí. Ak ho spustíte a zobrazíte objekt v konzole, získame jeho zrkadlový obraz. V tomto prípade pokračujeme v práci s rovnakým objektom, zatiaľ čo nový nie je vytvorený. Zachováva len ďalšie informácie. StringBuilder má veľa metód, ktoré sú podobné metódam v reťazci. Pracujú rovnako. Neexistuje prakticky žiadny rozdiel medzi StringBufferom a StringBuilderom, s výnimkou správania StringBufferovo bezchybného vlákna. Z tohto dôvodu to funguje trochu pomalšie.

Metódy triedy reťazcov

Poďme sa rozprávať o metódach triedy Java String. Najprv ich zvážte pre objekt srt1 a str2 a potom - statické metódy priamo do samotnej triedy String. Prvá metóda, ktorú budeme demontovať, je CharAt. Prijíma index a vráti znak. V jazyku Java sú riadky indexované, to znamená, že pod každým indexom je symbol. Napríklad, ak vytvoríte objekt Java, pod indexom "1", "v" - "2", "a" - "3" sa bude nachádzať "j" pod indexom "0", "a". To znamená, že ak píšete v metóde "0", vráti sa v tomto riadku znak, ktorý je pod nulovým indexom. Skontrolujte, či práca tejto metódy môže byť spustená do konzoly a spustiť program. V prvom prípade uvidíme symbol "j". Ak zmeníte hodnotu "0" na hodnotu "1", zobrazí sa symbol "a".

Metóda CodepointAt

Nasledujúca metóda Java String, s ktorou poznáme, je CodepointAt. Vráti int a prijíma int index. CodepointAt vráti znak Unicode daným indexom. To znamená, že ak zapíšeme index "1", opäť odkazom na index reťazca a znak "a", táto metóda nám vráti číslo v kódovaní Unicode zodpovedajúce znaku "a". Ak spustíte aplikáciu, uvidíme číslo 97. Napríklad ak vieme, že index "A" zodpovedá číslu 65 v kódovaní Unicode. Potom pri štarte, kde je hodnota zapísaná v metóde, dostávame 65.

Porovnanie reťazcov v jazyku Java String

Ďalšia metóda comparTo. Vracia int a prijíma ďalší riadok. V jazyku Java String sa porovnanie riadkov vykoná touto metódou. Vyberá str1 a porovnáva ho s prijatým reťazcom, lexikálne alebo lexikograficky, berúc do úvahy register písmen, tj so zreteľom na veľké a malé písmená. Ak sú obsahy riadkov rovnaké, potom musíme odčítať program "0". Preto, ak je obsah odlišný, v odpovedi príde číslo rovnajúce sa rozdielu v indexoch.

Metódy CompareToIgnoreCase a Concat

Ďalšia metóda, ktorú budeme rozoberať, je compareToIgnoreCase. Podobne ako v predchádzajúcom prípade sa nezohľadňuje iba prípad písmen, to znamená nezáleží na veľkom písmenom alebo veľkom písmenom. V editore kódu napíšeme str s hodnotou Java a urobíme posledné písmeno titular. A výsledkom je, že stále máme 0. Máme inú hodnotu, ak existuje nejaký iný charakter. Teraz už zvážime metódu pre reťazec Java String - Concat. Je určený na pridanie, zlúčenie alebo zlúčenie dvoch riadkov. concatpodobne ako bežné pridanie reťazcov pomocou znaku "+".

Equals and EqualsIgnoreCase

Metóda Equals zaberá iný objekt typu objektu. Keďže všetky naše zdedené triedy majú typ objektu, potom môžeme sprostredkovať reťazec. Reverzný typ je rovno - boolovská metóda, to znamená, že naša línia je porovnaná s iným objektom o rovnosti. Porovnáva obsah dvoch objektov. To znamená, že ak prejdeme reťazcom str2, ak jeho obsah nie je obsahom objektu, dostaneme odpoveď na chybu a ak je to jedna pravda. Existuje aj spôsob porovnávania riadkov bez registrácie prípadov. Nazýva sa to - EqualsIgnoreCase. Vyzerá to ako compareTo a pracuje podobným spôsobom. Opačný typ tu je booleovský. V prípade porovnávania výsledkom je rozdiel znakov alebo 0, ak je obsah rovnaký.

Metódy HashCode a IndexOf

Nasledujúca metóda je HashCode. Vracia hash nášho objektu. Je to v každom objekte a je to číslo, presnejšie, trochu reťazec pevnej dĺžky. Môžete ho získať pomocou tejto metódy. Zvážte metódu IndexOf. V skutočnosti existuje niekoľko, ale zvážime len jednu. Prijíma premennú ch - premennú v kódovaní Unicode. To znamená, že ak sa táto premenná zhoduje s znakom v riadku, potom sa index tohto znaku vráti, ak nie, potom "-1". Ak je naše číslo v kódovaní Unicode v tomto riadku, vráti sa index tohto znaku. Ak takýto znak neexistuje, vráti sa "-1".

Metódy IsEmpty, Length, Split, Substring

Teraz budeme analyzovať metódu IsEmpty. Vracia true, ak je dĺžka reťazca 0, tj je prázdna. Ďalšou metódou je Dĺžka. Je zodpovedný za počet znakov na riadok, to znamená, že sa vraciadĺžka java reťazca Medzery sú tiež symboly. Metóda Split zaberá oddeľovač a vracia pole riadkov. Môžeme použiť text umiestnený v dvojitých úvodzovkách alebo reťazec. Keď metóda narazí na medzeru, rozdeľuje riadok a rozdeľuje časť do poľa. Výsledkom je získanie množstva riadkov. Môžeme to uviesť do kométy, Split ju rozdelí aj na kusy. Obráťme sa na metódu Substring. Vyberá z radu substrings s dĺžkou endindex-beginindex začínajúc od poslednej pozície. Jedným príkladom Java String pre túto metódu je napísať reťazec a nastaviť pre ne dva indexy, potom bude linka vystrihnutá a jeho začiatok bude prvý index a koniec bude druhý. Časť str1 sa zobrazí v konzole. Ak chcete niesť reťazec v jazyku Java String, pridajte "n".

Metódy ToCharArray, ToLowerCase, ToUpperCase, Trim

Metóda ToCharArray vracia pole znakov, to znamená, že reťazec je ručne napísaný. Ak deklarujete znak a potom umiestnite určitý prvok do metódy, bude každý znak v poli char. Potom sa na konzole zobrazí každý prvok poľa. Ďalšou metódou je ToLowerCase. Prekladá reťazec do malých písmen. Funkcia ToUpperCase funguje opačným spôsobom - všetky písmená sú v reťazci veľké. Veľmi bežne používanou metódou je Trim. Znižuje medzery na začiatku a na konci linky. Existuje veľa statických metód samotnej triedy, pretože majú rôzne typy a polia. Najčastejšie sa používa hodnota ValueOf. Prevádza premennú daného typu na reťazec.

Súvisiace publikácie