Java Řetězec: metody, příklady

Java String nebo řádky v jazyce Java jsou hlavní nositeli textových informací, takže tato třída je populární a často se používá. Balík Java.lang má několik tříd pro práci s řetězci - je to StringBuffer a StringBuilder. Jsou prohlášeny za konečné - to naznačuje, že tyto třídy nemohou být zděděny. Chcete-li toto zkontrolovat, otevřete editor a napište řetězec slov a pak přejděte na vlastní třídu. Zde uvidíme, že je konečné - to znamená žádné dědictví.

Metody vytváření objektů

Objekt třídy Java String můžete vytvořit několika způsoby. Jeden z nich používá klíčové slovo nové a konstruktor třídy. Pokud stisknete kombinaci kláves CTRL + P, zobrazí se všechny tyto konstruktory. Java String vezme řetězec, pole char, int, byte, stejně jako třídy StringBuffer a StringBuilder. Druhým způsobem, jak vytvořit objekt, je přímo přiřadit odkaz obsažený v dvojitých uvozovkách.


Třídy StringBuilder, StringBuffer a jejich metody

Třídy StringBuilder, StringBuffer, jsou velmi podobné a mají být blízké třídě StringBuffer. Pomocí metod a konstruktérů lze objekty těchto tříd transformovat do sebe a do řetězce. Také StringBuilder má konstruktory, které berou řetězec a posloupnost znaků, takže řetězec lze převést na objekty. V obou případech existuje metoda ToString. Nezahrnuje třídy StringBuilder a StringBuffer, ale třídu Object, s níž mohou být přivedeny do řetězce. Všechny metody můžete vidět stisknutím kláves CTRL + P. Hlavní rozdíl mezi těmito dvěma třídami spočívá v tom, že nástroj StringBuilder pracuje rychleji, ale nenívlákno bezpečné, na rozdíl od StringBuffer. Bezpečnost toku je schopnost kódu okamžitě fungovat v několika tocích bez blokování.


je možné vytvořit objekt třídy StringBuilder nebo StringBuffer

Při vytváření objektu StringBuilder nebo StringBuffer výchozí konstruktor automaticky přiděluje určité množství paměti 16 znaků. To lze ověřit pomocí jedné z nich, což je metoda kapacity a výstup na konzoli. Výsledkem bude velikost vyrovnávací paměti 16 znaků. Můžete znovu stisknout CTRL + P a vybrat metodu Int Capacity. To znamená, že v konstruktoru můžeme zadat určitou velikost vyrovnávací paměti. Existuje také způsob, jak ji nainstalovat později. Chcete-li to provést v nástroji StringBuilder, vyberte metodu Zajistit kapacitu. S ním můžeme určit minimální garantovanou velikost vyrovnávací paměti. Máte-li ji změnit, například, 20 a restartujte konzolu, dostaneme 34. Skutečnost, že je možné nastavit minimální garantovanou částku, to znamená, že v žádném případě nebude menší než 20. Ale pokud to třída je v nějaké metodě nebo konstruktoru vzorec, pro který je vypočítána přípustná hodnota.

přiřadit hodnotu řetězce objektu

Pro přiřazení určitého objektu na hodnotu řádku, je nutné přidat tuto hodnotu do konstruktoru nebo za použití jednoho ze způsobů Připojit. Existuje mnoho, některé z těchto metod může trvat boolean, a pak ji převést na řetězec a udělat nějaké take char, pole, sekvenci, a tak dále. D. Na rozdíl od String, StringBuilder a StringBuffer, když jsou použity jejich metody, budeme i nadále pracovat se stejným objektemnevytvářejte nový

Rozdíly mezi metodami String a StringBuilder

Při práci s řetězcem, pokud používáte některé metody, jako je například zřetězení nebo lepení objektů, je v tomto případě vytvořen nový řádek. To lze ověřit při výstupu do konzoly. Obvykle se používají třídy StringBuilder a StringBuffer, když je přidání řetězců velmi běžné. Například ve smyčce, kde je velké množství informací a vždy existuje řada řádků, je lepší je použít přesně. Tím se urychlí pracovní postup, protože se StringBuilder dělá rychleji, zde není trvalé vytváření nového objektu.

Metoda SetLength

Při vytváření řádků (při každém přidání) bude vytvořen nový objekt. Jsou-li více než tisíc, pak bude spousta zbytečných zdrojů a proces bude trvat dlouho. Také v nástroji StringBuilder existuje metoda SetLength, kde můžete nastavit velikost vyrovnávací paměti. Například pokud nastavíte 15 a výsledek do konzoly, dostaneme číslo 20. Tento objekt, když je dosaženo požadované velikosti vyrovnávací paměti, se automaticky zvyšuje podle vzorce uvedeného v této metodě. Zvýšení může dojít do určité míry. Například v metodě Kapacita se maximální počet znaků v objektu bude rovnat počtu int.

Vložení a odstranění metod

Následující metoda, nejčastěji používaná v StringBuilderu, je Insert. Umožňuje vložit znak do určené pozice. Má také spoustu možností. Dalším oblíbeným způsobem je odstranění znakového řetězce. Chcete-li provést tuto operaci, přejděte na příkaz Odstranit a vyberteje na seznamu. Můžete například použít podřetězec z původního rejstříku na poslední nebo odstranit znak pomocí jeho indexu.
Nejnovější metoda StringBuilder, kterou budeme rozebírat, je Recerse nebo reverse. Používá se k přerušení řetězce. Symboly v něm budou postaveny v opačném pořadí. Pokud jej spustíte a objevíte objekt v konzole, získáme jeho zrcadlový obraz. V tomto případě i nadále pracujeme se stejným objektem, zatímco nový objekt není vytvořen. Prostě drží další informace. StringBuilder má mnoho metod, které jsou podobné metodám v řetězci. Pracují stejným způsobem. Neexistuje prakticky žádný rozdíl mezi StringBufferem a StringBuilderem, s výjimkou chování závislého na vláknech StringBuffer. Protože to funguje trochu pomaleji.

Metody tříd řetězce

Podívejme se na metody třídy Java String. Nejprve je uvažujme pro objekt srt1 a str2 a pak - statické metody přímo ke třídě samotné String. První metodou, kterou budeme demontovat, je CharAt. Přijme index a vrátí znak. V jazyce Java jsou řádky indexovány, tj. Pod každým indexem je symbol. Například pokud vytvoříte objekt Java, bude pod indexem "1", "v" - "2", "a" - "3" pod "0", "a". To znamená, že pokud zapíšete metodu "0", vrátí se v tomto řádku znak, který je pod nulovým indexem. Zkontrolujte, zda práce této metody mohou být vyvedeny do konzoly a spustit program. V prvním případě uvidíme symbol "j". Pokud změníte "0" na "1", uvidíme symbol "a".

Metoda CodepointAt

Následující metoda Java String, se kterou poznáme, je CodepointAt. Vrací int a přijímá int index. CodepointAt vrací znak Unicode daným indexem. To znamená, že pokud zapisujeme index "1", opět odkazujeme na index řetězce a znak "a", vrátí nás tato metoda v číselném kódování Unicode odpovídající znaku "a". Pokud spustíte aplikaci, uvidíme číslo 97. Například pokud víme, že index "A" odpovídá číslu 65 v kódování Unicode. Pak při spuštění, kde je hodnota zapsána v metodě, získáme 65.

Porovnání řetězců v Java String

Další metoda comparTo. Vrací int a přijme další řádek. V řetězci Java je porovnání řádků provedeno touto metodou. Vybírá str1 a porovnává jej s přijatým řetězcem, lexikálně nebo lexikograficky, přičemž bere v úvahu registr písmen, tj. S ohledem na velká a malá písmena. Je-li obsah řádků stejný, musíme po odečtení procesu dostat program "0". Pokud je tedy obsah odlišný, v odpovědi se dostane číslo, které se rovná rozdílu v indexech.

Metody CompareToIgnoreCase a Concat

Další metodou, kterou rozebereme, je compareToIgnoreCase. Stejně jako v předchozím případě se nezapočítává pouze případ dopisů, to znamená, že to není důležité, velká písmena nebo velká písmena. V editoru kódu píšeme str s hodnotou Java a uděláme poslední písmeno titular. A jako výsledek, máme stále 0. Získáme jinou hodnotu, pokud existuje nějaký jiný charakter. Nyní zvažte metodu pro řetězec Java String - Concat. Je určen k přidání, sloučení nebo sloučení dvou řádků. Concatpodobné obvyklému přidání řetězců pomocí znaku "+".

Equals and EqualsIgnoreCase

Metoda Equals přebírá další objekt typu objektu. Ale jelikož všechny naše děděné třídy mají typ objektu, pak můžeme zprostředkovat řetězec. Reverzní typ je metoda Equals - boolean, tj. Naše linie je porovnána s jiným objektem rovnosti. Srovnává obsah dvou objektů. To znamená, že pokud předáme řetězec str2, pokud její obsah není s objektem, dostaneme odpověď na chybu a pokud je to pravda. Existuje také metoda porovnání řádků bez registru případů. Říká se tomu - EqualsIgnoreCase. Vypadá to jako porovnání a funguje podobným způsobem. Reverzní typ zde je booleovský. V případě compareTo v důsledku toho získáme rozdíl znaků nebo 0, pokud je obsah stejný.

Metody HashCode a IndexOf

Následující metoda je HashCode. Vrací háček objektu. Je to v každém objektu a je číslo, přesněji, trojúhelníkový řetězec s pevnou délkou. Můžete ji získat pomocí této metody. Zvažte metodu IndexOf. Ve skutečnosti existuje několik, ale budeme zvažovat pouze jednu. Přijímá proměnnou ch - proměnnou v kódování Unicode. To znamená, že pokud se tato proměnná shoduje s znakem v řádku, vrátí se index tohoto znaku, pokud ne, pak "-1". Pokud je naše číslo v kódování Unicode v tomto řádku, vrátí se index tohoto znaku. Pokud takový znak neexistuje, vrátí se "-1".

Metody IsEmpty, Length, Split, Substring

Nyní budeme analyzovat metodu IsEmpty. Vrací true, pokud je délka řetězce 0, tj. Je prázdná. Další metodou je Délka. Je zodpovědný za počet znaků na řádku, to znamená, že se vracídélka java řetězce Mezerami jsou také symboly. Metoda Split se odděluje a vrací řadu řádků. Můžeme použít text umístěný ve dvojitých uvozovkách nebo řetězec. Když metoda narazí na mezera, rozdělí čáru a rozdělí část na pole. Výsledkem je řada linek. Můžeme ji dát do komety, Split ji rozdělí na kusy. Podívejme se na metodu Substring. Vychází z řady podřetězců s délkou endindex-beginindex začínající od poslední pozice. Jedním z příkladů Java String pro tuto metodu je napsat řetězec a nastavit pro něj dva indexy, potom bude čára vystřihována a její začátek bude prvním indexem a konec bude druhý. Na konzoli se zobrazí část str1. Chcete-li nést řetězec v Java String, přidejte "n".

Metody ToCharArray, ToLowerCase, ToUpperCase, Trim

Metoda ToCharArray vrací pole znaků, tj. Řetězec je ručně psaný. Pokud deklarujete znak a umístíte určitý prvek do metody, bude každý znak v poli char. Pak se na konzole zobrazí každý prvek pole. Další metodou je ToLowerCase. Převádí řetězec do malých písmen. ToUpperCase pracuje opačným způsobem - dělá všechny písmena v řetězci velké. Velmi běžně používanou metodou je Trim. Rozřízne mezery na začátku a konci řádku. Existuje mnoho statických metod té samé třídy, protože mají různé typy a pole. Nejčastěji se používá ValueOf. Převádí proměnnou daného typu do řetězce.

Související publikace