Java String (s príkladmi)

V tomto tutoriáli sa pomocou príkladov dozvieme o Java Strings, ako ich vytvárať a o rôznych metódach String.

V jazyku Java je reťazec postupnosťou znakov. Napríklad „ahoj“ je reťazec obsahujúci postupnosť znakov „h“, „e“, „l“, „l“ a „o“.

Na vyjadrenie reťazca v Jave používame dvojité úvodzovky . Napríklad,

 // create a string String type = "Java programming";

Tu sme vytvorili premennú reťazca s názvom typ. Premenná sa inicializuje reťazcom Java Programming.

Poznámka : Reťazce v Jave nie sú primitívne typy (podobne int, charatď.) Namiesto toho sú všetky reťazce objektmi preddefinovanej triedy s názvom String.

Všetky premenné reťazca sú inštanciami Stringtriedy.

Príklad: Vytvorte reťazec v Jave

 class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )

Vo vyššie uvedenom príklade sme vytvorili tri reťazce pomenované prvý, druhý a tretí. Tu priamo vytvárame reťazce ako primitívne typy.

Existuje však aj iný spôsob vytvárania reťazcov Java (pomocou newkľúčového slova). O tom sa dozvieme neskôr v tomto návode.

Operácie s reťazcami Java

Java String poskytuje rôzne metódy na vykonávanie rôznych operácií s reťazcami. Pozrime sa na niektoré z bežne používaných operácií s reťazcami.

1. Získajte dĺžku reťazca

Na zistenie dĺžky reťazca použijeme length()metódu String. Napríklad,

 class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )

Výkon

Reťazec: Dobrý deň! Dĺžka sveta: 12

Vo vyššie uvedenom príklade length()metóda vypočíta celkový počet znakov v reťazci a vráti ho. Ak sa chcete dozvedieť viac, navštívte Java String length ().

2. Spojte dve struny

concat()Metódou môžeme spojiť dva reťazce v Jave . Napríklad,

 class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )

Výkon

 Prvý reťazec: Java Druhý reťazec: Programovanie Pripojený reťazec: Programovanie Java

Vo vyššie uvedenom príklade sme vytvorili dva reťazce pomenované prvý a druhý. Všimnite si vyhlásenie,

 String joinedString = first.concat(second);

Tu sa concat()metóda spojí prvý a druhý a priradí ju k premennej joinString.

Môžeme tiež spojiť dva reťazce pomocou +operátora v Jave. Ak sa chcete dozvedieť viac, navštívte Java String concat ().

3. Porovnajte dva reťazce

V Jave môžeme pomocou equals()metódy vykonať porovnanie medzi dvoma reťazcami . Napríklad,

 class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )

Výkon

 Reťazce prvý a druhý sú si rovné: true Reťazce prvý a tretí sú si rovné: false

Vo vyššie uvedenom príklade sme vytvorili 3 reťazce pomenované prvý, druhý a tretí. Tu používame equal()metódu na kontrolu, či sa jeden reťazec rovná druhému.

Tieto equals()kontroly metóda obsah reťazca pri ich porovnávanie. Ak sa chcete dozvedieť viac, navštívte stránku Java String equals ().

Poznámka : Môžeme tiež porovnať dva reťazce pomocou ==operátora v Jave. Tento prístup je však iný ako equals()metóda. Ak sa chcete dozvedieť viac, navštívte stránku Java String == vs equals ().

Metódy reťazca Java

Okrem vyššie spomenutých existujú v Jave rôzne reťazcové metódy. Tu sú niektoré z týchto metód:

Metódy Popis
podreťazec () vráti podreťazec reťazca
nahradiť () nahradí zadaný starý znak zadaným novým znakom
charAt () vráti znak prítomný na zadanom mieste
getBytes () prevádza reťazec na pole bajtov
indexOf () vráti pozíciu zadaného znaku v reťazci
porovnať s() porovnáva dva reťazce v poradí slovníkov
trim () odstráni všetky predné a koncové biele medzery
formát () vráti formátovaný reťazec
split () rozbije reťazec na pole reťazcov
toLowerCase () prevádza reťazec na malé písmená
toUpperCase () prevádza reťazec na veľké písmená
hodnota() vráti reťazcovú reprezentáciu zadaného argumentu
toCharArray () prevádza reťazec na charpole

Úniková postava v reťazcoch Java

Únikový znak sa používa na únik z niektorých znakov prítomných vo vnútri reťazca.

Predpokladajme, že do reťazca musíme zahrnúť dvojité úvodzovky.

 // include double quote String example = "This is the "String" class";

Pretože reťazce sú vyjadrené dvojitými úvodzovkami , bude kompilátor považovať reťazec „This is the“ za reťazec. Vyššie uvedený kód preto spôsobí chybu.

Na vyriešenie tohto problému používame v jazyku Java znak escape . Napríklad,

 // use the escape character String example = "This is the "String " class.";

Teraz únikové znaky povedzte kompilátoru, aby unikol dvojitým úvodzovkám a prečítal si celý text.

Reťazce Java sú nemenné

V Jave sú reťazce nemenné . To znamená, že akonáhle vytvoríme reťazec, nemôžeme ho zmeniť.

Ak to chcete hlbšie pochopiť, zvážte príklad:

 // create a string String example = "Hello! ";

Tu sme vytvorili premennú reťazca s názvom príklad. Premenná obsahuje reťazec „Hello!“.

Teraz predpokladajme, že chceme zmeniť reťazec.

 // add another string "World" // to the previous tring example example = example.concat(" World");

Tu používame concat()metódu na pridanie ďalšieho reťazca World k predchádzajúcemu reťazcu.

It looks like we are able to change the value of the previous string. However, this is not true.

Let's see what has happened here,

  1. JVM takes the first string "Hello! "
  2. creates a new string by adding "World" to the first string
  3. assign the new string "Hello! World" to the example variable
  4. the first string "Hello! " remains unchanged

Creating strings using the new keyword

So far we have created strings like primitive types in Java.

Since strings in Java are objects, we can create strings using the new keyword as well. For example,

 // create a string using the new keyword String name = new String("Java String");

In the above example, we have created a string name using the new keyword.

Here, when we create a string object, the String() constructor is invoked. To learn more about constructor, visit Java Constructor.

Note: The String class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).

Example: Create Java Strings using the new keyword

 class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )

Create String using literals vs new keyword

Now that we know how strings are created using string literals and the new keyword, let's see what is the major difference between them.

In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.

While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.

  • Ak reťazec už existuje , nový reťazec sa nevytvorí. Namiesto toho nový odkaz ukazuje na existujúci reťazec.
  • Ak reťazec neexistuje , vytvorí sa nový reťazec.

Pri vytváraní reťazcov pomocou nového kľúčového slova však nie je priamo poskytnutá hodnota reťazca. Preto sa nový reťazec vytvára stále.

Zaujímavé články...