U Java , string je u osnovi objekt koji predstavlja niz vrijednosti char. An niz znakova radi isto kao Java niz. Na primjer:
char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch);
je isto kao:
String s='javatpoint';
Java niz klasa pruža puno metoda za izvođenje operacija na nizovima kao što su compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() itd.
Klasa java.lang.String implementira Serializable , Usporedivo i CharSequence sučelja .
CharSequence sučelje
Sučelje CharSequence koristi se za predstavljanje niza znakova. Niz, StringBuffer i Graditelj nizova razredi ga provode. To znači da možemo kreirati nizove u Javi koristeći ove tri klase.
Java String je nepromjenjiv što znači da se ne može mijenjati. Kad god promijenimo bilo koji niz, stvara se nova instanca. Za promjenjive nizove, možete koristiti klase StringBuffer i StringBuilder.
Kasnije ćemo raspravljati o nepromjenjivom nizu. Prvo shvatimo što je String u Javi i kako stvoriti String objekt.
Što je String u Javi?
Općenito, niz je niz znakova. Ali u Javi, niz je objekt koji predstavlja niz znakova. Klasa java.lang.String koristi se za stvaranje string objekta.
Kako stvoriti string objekt?
Postoje dva načina za stvaranje String objekta:
- String literalom
- Po novoj ključnoj riječi
1) String literal
Java String literal se stvara korištenjem dvostrukih navodnika. Na primjer:
String s='welcome';
Svaki put kada stvorite string literal, JVM prvo provjerava 'string konstantni skup'. Ako niz već postoji u spremištu, vraća se referenca na skupljenu instancu. Ako niz ne postoji u skupu, nova instanca niza se stvara i stavlja u skup. Na primjer:
String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance
U gornjem primjeru kreirat će se samo jedan objekt. Prvo, JVM neće pronaći nijedan string objekt s vrijednošću 'Welcome' u nizu konstantnih stringova, zbog čega će stvoriti novi objekt. Nakon toga pronaći će niz s vrijednošću 'Dobrodošli' u bazenu, neće stvoriti novi objekt već će vratiti referencu na istu instancu.
Napomena: String objekti pohranjeni su u posebnom memorijskom području poznatom kao 'string konstantni skup'.
Zašto Java koristi koncept String literala?
Kako bi Java bila memorijski učinkovitija (jer se ne stvaraju novi objekti ako već postoje u skupu konstanti nizova).
2) Po novoj ključnoj riječi
String s=new String('Welcome');//creates two objects and one reference variable
U takvom slučaju, JVM će stvoriti novi objekt niza u normalnoj (ne-pool) heap memoriji, a literal 'Dobrodošli' bit će smješten u skup konstanti niza. Varijabla s odnosit će se na objekt u gomili (ne-pool).
java cast char u niz
Primjer Java niza
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); }}Testirajte sada
Izlaz:
java strings example
Gornji kod pretvara a char niz u a Niz objekt. I prikazuje String objekte s1, s2 , i s3 na konzoli pomoću println() metoda.
Metode klase Java String
Klasa java.lang.String pruža mnoge korisne metode za izvođenje operacija na nizu vrijednosti char.
Ne. | metoda | Opis |
---|---|---|
1 | char charAt(int indeks) | Vraća vrijednost char za određeni indeks |
2 | int duljina() | Vraća duljinu niza |
3 | statički format niza (format niza, objekt... argumenti) | Vraća formatirani niz. |
4 | statički format niza (lokacija l, format niza, objekt... args) | Vraća formatirani niz s danim jezikom. |
5 | Podniz niza (int beginIndex) | Vraća podniz za dati početni indeks. |
6 | Podniz niza (int beginIndex, int endIndex) | Vraća podniz za zadani početni indeks i završni indeks. |
7 | Boolean sadrži (CharSequence s) | Vraća true ili false nakon podudaranja niza vrijednosti char. |
8 | statično spajanje niza (razdjelnik CharSequence, elementi CharSequence...) | Vraća spojeni niz. |
9 | statično spajanje niza (razdjelnik CharSequence, elementi koji se mogu ponavljati) | Vraća spojeni niz. |
10 | boolean jednako (drugi objekt) | Provjerava jednakost niza s danim objektom. |
jedanaest | Boolean isEmpty() | Provjerava je li niz prazan. |
12 | String concat (String str) | Spaja navedeni niz. |
13 | Zamjena niza (char stari, char novi) | Zamjenjuje sva pojavljivanja navedene vrijednosti char. |
14 | Zamjena niza (CharSequence stari, CharSequence novi) | Zamjenjuje sva pojavljivanja navedenog niza znakova. |
petnaest | statički niz jednak IgnoreCase(drugi niz) | Uspoređuje drugi niz. Ne provjerava velika i mala slova. |
16 | String[] split (String regex) | Vraća podijeljeni niz koji odgovara regularnom izrazu. |
17 | String[] split(String regex, int limit) | Vraća podijeljeni niz koji odgovara regularnom izrazu i ograničenju. |
18 | String intern() | Vraća interni niz. |
19 | int indexOf(int ch) | Vraća navedeni indeks vrijednosti char. |
dvadeset | int indexOf(int ch, int fromIndex) | Vraća navedeni indeks vrijednosti char počevši od zadanog indeksa. |
dvadeset i jedan | int indexOf(string podniz) | Vraća navedeni indeks podniza. |
22 | int indexOf(String substring, int fromIndex) | Vraća navedeni indeks podniza počevši od zadanog indeksa. |
23 | String toLowerCase() | Vraća niz u malim slovima. |
24 | String to LowerCase (Locale l) | Vraća niz u malim slovima koristeći specificiranu lokalizaciju. |
25 | String toUpperCase() | Vraća niz napisan velikim slovima. |
26 | Niz u velika slova (jezik l) | Vraća niz velikim slovima koristeći specificiranu lokalizaciju. |
27 | String trim() | Uklanja početne i završne razmake ovog niza. |
28 | statički niz valueOf(int vrijednost) | Pretvara dati tip u niz. To je preopterećena metoda. |
Znaš li?
- Zašto su String objekti nepromjenjivi?
- Kako stvoriti nepromjenjivu klasu?
- Što je skup konstantnih nizova?
- Koji kod piše kompilator ako spojite bilo koji niz pomoću + (operator za spajanje nizova)?
- Koja je razlika između StringBuffer i StringBuilder klase?
Što ćemo naučiti u rukovanju nizovima?
- Koncept niza
- Nepromjenjivi niz
- Usporedba nizova
- Ulančavanje nizova
- Koncept podniza
- Metode klase nizova i njihova uporaba
- Klasa StringBuffer
- Klasa StringBuilder
- Stvaranje nepromjenjive klase
- toString() metoda
- Klasa StringTokenizer