U ovom ćemo tutorijalu uz primjere naučiti o Java stringovima, kako ih stvoriti i raznim metodama Stringa.
U Javi je niz niz znakova. Na primjer, "zdravo" je niz koji sadrži niz znakova 'h', 'e', 'l', 'l' i 'o'.
Dvostruke navodnike koristimo za predstavljanje niza u Javi. Na primjer,
// create a string String type = "Java programming";
Ovdje smo stvorili varijablu niza pod nazivom type. Varijabla se inicijalizira nizom Java Programming
.
Napomena : Nizovi u Javi nisu primitivne vrste (kao što je int
, char
itd.) Umjesto toga, svi su nizovi objekti unaprijed definirane klase s imenom String
.
Sve su varijable niza primjerci String
klase.
Primjer: Stvorite niz u Javi
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 ) )
U gornjem primjeru stvorili smo tri niza imena prva, druga i treća. Ovdje izravno stvaramo nizove poput primitivnih tipova.
Međutim, postoji još jedan način stvaranja Java nizova (pomoću new
ključne riječi). O tome ćemo saznati kasnije u ovom vodiču.
Java string operacije
Java String pruža razne metode za izvođenje različitih operacija na žicama. Razmotrit ćemo neke od često korištenih operacija niza.
1. Nabavite duljinu niza
Da bismo pronašli duljinu niza, koristimo length()
metodu String. Na primjer,
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); ) )
Izlaz
Niz: Zdravo! Duljina svijeta: 12
U gornjem primjeru length()
metoda izračunava ukupan broj znakova u nizu i vraća ga. Da biste saznali više, posjetite Java String length ().
2. Spojite dvije žice
Pomoću concat()
metode možemo pridružiti dva niza u Javi . Na primjer,
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); ) )
Izlaz
Prvi niz: Java Drugi niz: Programiranje Spojeni niz: Java Programiranje
U gornjem primjeru stvorili smo dva niza s imenom prvi i drugi. Primijetite izjavu,
String joinedString = first.concat(second);
Ovdje concat()
metoda pridružuje prvo i drugo i dodjeljuje je varijabli joinString.
Također se možemo pridružiti dva niza koristeći +
operator u Javi. Da biste saznali više, posjetite Java String concat ().
3. Usporedite dvije žice
U Javi equals()
metodom možemo napraviti usporedbu dva niza . Na primjer,
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); ) )
Izlaz
Strune prve i druge jednake su: istinite Strune prve i treće jednake su: netačne
U gornjem primjeru stvorili smo 3 niza koji se nazivaju prvi, drugi i treći. Ovdje koristimo equal()
metodu da provjerimo je li jedan niz jednak drugom.
The equals()
metoda provjerava sadržaj žice, a uspoređujući ih. Da biste saznali više, posjetite Java String equals ().
Napomena : Također možemo usporediti dva niza pomoću ==
operatora u Javi. Međutim, ovaj se pristup razlikuje od equals()
metode. Da biste saznali više, posjetite Java String == vs equals ().
Metode Java niza
Osim gore spomenutih, u Javi su prisutne razne metode nizova. Evo nekoliko metoda:
Metode | Opis |
---|---|
podniz () | vraća podniz niza |
zamijeniti() | zamjenjuje navedeni stari znak navedenim novim znakom |
charAt () | vraća znak prisutan na navedenom mjestu |
getBytes () | pretvara niz u niz bajtova |
indexOf () | vraća položaj navedenog znaka u nizu |
compareTo () | uspoređuje dvije žice u redoslijedu rječnika |
obrezati () | uklanja sve vodeće i prateće razmake |
format() | vraća formatirani niz |
podjela() | razbija niz u niz nizova |
toLowerCase () | pretvara niz u mala slova |
toUpperCase () | pretvara niz u velika slova |
vrijednost() | vraća nizni prikaz navedenog argumenta |
toCharArray () | pretvara niz u char niz |
Escape lik u Java Strings
Znak za bijeg koristi se za bijeg od nekih znakova prisutnih unutar niza.
Pretpostavimo da unutar niza moramo uključiti dvostruke navodnike.
// include double quote String example = "This is the "String" class";
Since strings are represented by double quotes, the compiler will treat "This is the " as the string. Hence, the above code will cause an error.
To solve this issue, we use the escape character in Java. For example,
// use the escape character String example = "This is the "String " class.";
Now escape characters tell the compiler to escape double quotes and read the whole text.
Java Strings are Immutable
In Java, strings are immutable. This means, once we create a string, we cannot change that string.
To understand it more deeply, consider an example:
// create a string String example = "Hello! ";
Here, we have created a string variable named example. The variable holds the string "Hello! ".
Now suppose we want to change the string.
// add another string "World" // to the previous tring example example = example.concat(" World");
Here, we are using the concat()
method to add another string World to the previous string.
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,
- JVM takes the first string "Hello! "
- creates a new string by adding "World" to the first string
- assign the new string "Hello! World" to the example variable
- 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.
- Ako niz već postoji , novi niz se ne stvara. Umjesto toga, nova referenca upućuje na postojeći niz.
- Ako niz ne postoji , stvara se novi niz.
Međutim, dok stvarate nizove pomoću nove ključne riječi , vrijednost niza nije izravno navedena. Stoga se novi niz stvara cijelo vrijeme.