logo

Java reťazec

In Java , string je v podstate objekt, ktorý predstavuje postupnosť hodnôt znakov. An pole znakov funguje rovnako ako reťazec Java. Napríklad:

 char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch); 

je rovnaký ako:

 String s='javatpoint'; 

Java reťazec trieda poskytuje množstvo metód na vykonávanie operácií s reťazcami, ako napríklad porovnanie (), concat (), rovná sa (), rozdelenie (), dĺžka (), nahradenie (), porovnanie s (), intern (), podreťazec () atď.

Implementuje trieda java.lang.String Serializovateľné , Porovnateľné a CharSequence rozhrania .

Reťazec v jazyku Java

Rozhranie CharSequence

Rozhranie CharSequence sa používa na znázornenie postupnosti znakov. reťazec, StringBuffer a StringBuilder triedy to realizujú. To znamená, že pomocou týchto troch tried môžeme vytvárať reťazce v Jave.

CharSequence v jazyku Java

Java String je nemenný, čo znamená, že ho nemožno zmeniť. Kedykoľvek zmeníme akýkoľvek reťazec, vytvorí sa nová inštancia. Pre meniteľné reťazce môžete použiť triedy StringBuffer a StringBuilder.

O nemennom reťazci budeme diskutovať neskôr. Poďme najprv pochopiť, čo je String v Jave a ako vytvoriť objekt String.

Čo je reťazec v jazyku Java?

Vo všeobecnosti je reťazec sekvenciou znakov. Ale v Jave je reťazec objekt, ktorý predstavuje postupnosť znakov. Trieda java.lang.String sa používa na vytvorenie objektu typu reťazec.

Ako vytvoriť objekt typu reťazec?

Existujú dva spôsoby, ako vytvoriť objekt typu String:

  1. Reťazovým doslovom
  2. Podľa nového kľúčového slova

1) Strunový doslov

Java String literál je vytvorený pomocou dvojitých úvodzoviek. Napríklad:

 String s='welcome'; 

Zakaždým, keď vytvoríte reťazcový literál, JVM najskôr skontroluje „spoločnosť reťazcov“. Ak reťazec už v oblasti existuje, vráti sa odkaz na združenú inštanciu. Ak reťazec v oblasti neexistuje, vytvorí sa nová inštancia reťazca a umiestni sa do oblasti. Napríklad:

 String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance 

Java reťazec

Vo vyššie uvedenom príklade sa vytvorí iba jeden objekt. Po prvé, JVM nenájde žiadny objekt typu reťazec s hodnotou 'Welcome' v ​​oblasti konštantných reťazcov, a preto vytvorí nový objekt. Potom nájde v fonde reťazec s hodnotou 'Vitajte', nevytvorí nový objekt, ale vráti odkaz na rovnakú inštanciu.

Poznámka: Objekty reťazcov sú uložené v špeciálnej pamäťovej oblasti známej ako „oblasť konštánt reťazcov“.

Prečo Java používa koncept String literal?

Aby Java bola efektívnejšia s pamäťou (pretože sa nevytvárajú žiadne nové objekty, ak už existujú v oblasti konštantných reťazcov).

2) Podľa nového kľúčového slova

 String s=new String('Welcome');//creates two objects and one reference variable 

V takom prípade JVM vytvorí nový reťazcový objekt v normálnej (non-pool) haldovej pamäti a doslovné 'Welcome' sa umiestni do oblasti reťazcových konštánt. Premenná s bude odkazovať na objekt v hromade (non-pool).

analógová komunikácia

Príklad reťazca Java

StringExample.java

 public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }} 
Vyskúšajte to

Výkon:

java strings example 

Vyššie uvedený kód konvertuje a char pole do a Reťazec objekt. A zobrazuje objekty String s1, s2 , a s3 pri použití konzoly println() metóda.

Metódy triedy Java String

Trieda java.lang.String poskytuje mnoho užitočných metód na vykonávanie operácií so sekvenciou hodnôt znakov.

NieMetódaPopis
1 char charAt(int index) Vráti hodnotu char pre konkrétny index
2 int dĺžka() Vráti dĺžku reťazca
3 statický formát reťazca (formát reťazca, argumenty objektu...) Vracia naformátovaný reťazec.
4 statický formát reťazca (miestne l, formát reťazca, objektové... argumenty) Vráti naformátovaný reťazec s daným miestnym nastavením.
5 Podreťazec reťazca (int beginIndex) Vráti podreťazec pre daný počiatočný index.
6 Podreťazec reťazca (int beginIndex, int endIndex) Vráti podreťazec pre daný počiatočný index a koncový index.
7 boolean obsahuje(CharSequence s) Vracia true alebo false po zhode sekvencie hodnoty char.
8 statické spojenie reťazcov (oddeľovač CharSequence, prvky CharSequence...) Vracia spojený reťazec.
9 statické spojenie reťazcov (oddeľovač znakovej sekvencie, iterovateľné prvky) Vracia spojený reťazec.
10 boolean rovná sa (objekt iný) Kontroluje zhodnosť reťazca s daným objektom.
jedenásť boolean isEmpty() Skontroluje, či je reťazec prázdny.
12 String concat (String str) Spája zadaný reťazec.
13 Nahradiť reťazec (starý znak, nový znak) Nahradí všetky výskyty zadanej hodnoty znaku.
14 Nahradenie reťazca (CharSequence stará, CharSequence nová) Nahradí všetky výskyty zadanej CharSequence.
pätnásť statický reťazec sa rovnáIgnoreCase(reťazec iný) Porovnáva iný reťazec. Nekontroluje veľkosť písmen.
16 Rozdelenie reťazca[] (regulárny výraz reťazca) Vráti rozdelený reťazec zodpovedajúci regulárnemu výrazu.
17 Rozdelenie reťazca[] (regulárny výraz reťazca, limit int) Vráti rozdelený reťazec zodpovedajúci regulárnemu výrazu a limitu.
18 String intern() Vracia vložený reťazec.
19 int indexOf(int ch) Vráti zadaný index hodnoty char.
dvadsať int indexOf(int ch, int fromIndex) Vráti zadaný index hodnoty znaku počnúc daným indexom.
dvadsaťjeden int indexOf(podreťazec reťazca) Vráti zadaný index podreťazca.
22 int indexOf(podreťazec reťazca, int z indexu) Vráti zadaný index podreťazca začínajúci daným indexom.
23 Reťazec na malé písmená() Vracia reťazec s malými písmenami.
24 Reťazec na malé písmená (miestne nastavenie l) Vracia reťazec napísaný malými písmenami pomocou špecifikovaného miestneho nastavenia.
25 String toUpperCase() Vracia reťazec napísaný veľkými písmenami.
26 Reťazec na veľké písmená (miestne l) Vracia reťazec napísaný veľkými písmenami pomocou špecifikovaného miestneho nastavenia.
27 Orezanie reťazca() Odstraňuje začiatočné a koncové medzery tohto reťazca.
28 statický reťazec valueOf(int value) Konvertuje daný typ na reťazec. Je to preťažená metóda.

Vieš?
  • Prečo sú objekty typu String nemenné?
  • Ako vytvoriť nemennú triedu?
  • Čo je reťazec konštantný bazén?
  • Aký kód napíše kompilátor, ak zreťazíte ľubovoľný reťazec pomocou + (operátor zreťazenia reťazcov)?
  • Aký je rozdiel medzi triedou StringBuffer a StringBuilder?

Čo sa naučíme v String Handling?
  • Koncept struny
  • Immutable String
  • Porovnanie reťazcov
  • Spájanie reťazcov
  • Koncept podreťazca
  • Metódy triedy String a jej využitie
  • Trieda StringBuffer
  • Trieda StringBuilder
  • Vytvorenie nemennej triedy
  • metóda toString().
  • Trieda StringTokenizer