notri Java , je niz v bistvu objekt, ki predstavlja zaporedje vrednosti char. An niz znakov deluje enako kot niz v Javi. Na primer:
char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch);
je enako kot:
String s='javatpoint';
Java String ponuja veliko metod za izvajanje operacij na nizih, kot so compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() itd.
Razred java.lang.String izvaja Serializable , Primerljivo in CharSequence vmesniki .
Vmesnik CharSequence
Vmesnik CharSequence se uporablja za predstavitev zaporedja znakov. Vrvica, StringBuffer in StringBuilder razredi izvajajo. To pomeni, da lahko ustvarimo nize v Javi z uporabo teh treh razredov.
Niz Java je nespremenljiv, kar pomeni, da ga ni mogoče spremeniti. Kadarkoli spremenimo katerikoli niz, se ustvari nov primerek. Za spremenljive nize lahko uporabite razreda StringBuffer in StringBuilder.
O nespremenljivem nizu bomo razpravljali kasneje. Najprej razumemo, kaj je String v Javi in kako ustvariti objekt String.
Kaj je niz v Javi?
Na splošno je niz zaporedje znakov. Toda v Javi je niz predmet, ki predstavlja zaporedje znakov. Razred java.lang.String se uporablja za ustvarjanje objekta niza.
Kako ustvariti objekt niz?
Objekt String lahko ustvarite na dva načina:
- Z dobesednim nizom
- Z novo ključno besedo
1) Nizovni literal
Java String literal je ustvarjen z uporabo dvojnih narekovajev. Na primer:
String s='welcome';
Vsakič, ko ustvarite nizovni literal, JVM najprej preveri 'bazo konstantnih nizov'. Če niz že obstaja v bazenu, je vrnjen sklic na združeni primerek. Če niz ne obstaja v bazenu, se ustvari nov primerek niza in postavi v bazen. Na primer:
String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance
V zgornjem primeru bo ustvarjen samo en predmet. Prvič, JVM ne bo našel nobenega objekta niza z vrednostjo 'Dobrodošli' v nizu konstant nizov, zato bo ustvaril nov objekt. Po tem bo v bazenu našel niz z vrednostjo 'Dobrodošli', ne bo ustvaril novega predmeta, ampak bo vrnil sklic na isto instanco.
Opomba: Objekti nizov so shranjeni v posebnem pomnilniškem območju, znanem kot 'baza konstant nizov'.
Zakaj Java uporablja koncept dobesednega niza?
Da bo Java bolj učinkovita pri pomnilniku (ker se ne ustvari noben nov objekt, če že obstaja v nizu konstantnih nizov).
2) Z novo ključno besedo
String s=new String('Welcome');//creates two objects and one reference variable
V takem primeru JVM bo ustvaril nov predmet niza v običajnem (brez bazena) pomnilniku kopice, dobesedno besedilo 'Dobrodošli' pa bo postavljeno v bazen konstant nizov. Spremenljivka s se bo nanašala na objekt v kopici (brez bazena).
pretvorba int v dvojno javo
Primer niza 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); }}Preizkusite zdaj
Izhod:
java strings example
Zgornja koda pretvori a char niz v a Vrvica predmet. In prikaže objekte String s1, s2 , in s3 na konzoli z uporabo println() metoda.
Metode razreda Java String
Razred java.lang.String nudi številne uporabne metode za izvajanje operacij na zaporedju vrednosti char.
št. | Metoda | Opis |
---|---|---|
1 | char charAt(int indeks) | Vrne vrednost char za določen indeks |
2 | int dolžina () | Vrne dolžino niza |
3 | statična oblika niza (oblika niza, predmet ... argumenti) | Vrne oblikovani niz. |
4 | statična oblika niza (oblikovanje l, oblika niza, predmet ... argumenti) | Vrne oblikovani niz z danimi področnimi nastavitvami. |
5 | Podniz niza (int beginIndex) | Vrne podniz za dani začetni indeks. |
6 | Podniz niza (int beginIndex, int endIndex) | Vrne podniz za dani začetni indeks in končni indeks. |
7 | logično vsebuje (CharSequence s) | Po ujemanju z zaporedjem vrednosti char vrne true ali false. |
8 | statično združevanje nizov (ločilo CharSequence, elementi CharSequence ...) | Vrne združeni niz. |
9 | statično združevanje nizov (ločilo CharSequence, ponovljivi elementi) | Vrne združeni niz. |
10 | logično je enako (objekt drug) | Preveri enakost niza z danim objektom. |
enajst | logično isEmpty() | Preveri, ali je niz prazen. |
12 | String concat (String str) | Združi podani niz. |
13 | Zamenjava niza (char old, char new) | Zamenja vse pojavitve podane vrednosti char. |
14 | Zamenjava niza (CharSequence staro, CharSequence novo) | Zamenja vse pojavitve podane CharSequence. |
petnajst | statični niz je enako IgnoreCase (drugi niz) | Primerja drug niz. Ne preverja velikih in malih črk. |
16 | Niz [] razdeljen (regularni izraz niza) | Vrne razdeljeni niz, ki se ujema z regularnim izrazom. |
17 | String [] split (String regex, int limit) | Vrne razdeljeni niz, ki se ujema z regularnim izrazom in omejitvijo. |
18 | String intern() | Vrne internirani niz. |
19 | int indexOf(int ch) | Vrne podani indeks vrednosti char. |
dvajset | int indexOf(int ch, int fromIndex) | Vrne podani indeks vrednosti char, ki se začne z danim indeksom. |
enaindvajset | int indexOf(podniz niza) | Vrne podani indeks podniza. |
22 | int indexOf(podniz niza, int fromIndex) | Vrne podani indeks podniza, ki se začne z danim indeksom. |
23 | Niz v male črke() | Vrne niz z malimi črkami. |
24 | Niz v male črke (področje l) | Vrne niz z malimi črkami z uporabo podane lokalne nastavitve. |
25 | Niz v velike črke() | Vrne niz z velikimi črkami. |
26 | Niz v velike črke (oblast l) | Vrne niz z velikimi črkami z uporabo podane lokalne nastavitve. |
27 | Obrezovanje niza() | Odstrani začetne in končne presledke tega niza. |
28 | statični niz valueOf(int vrednost) | Dano vrsto pretvori v niz. To je preobremenjena metoda. |
Ali veš?
- Zakaj so objekti String nespremenljivi?
- Kako ustvariti nespremenljiv razred?
- Kaj je bazen konstant nizov?
- Kakšno kodo napiše prevajalnik, če poljuben niz združite z + (operator za združevanje nizov)?
- Kakšna je razlika med razredom StringBuffer in StringBuilder?
Kaj se bomo naučili pri rokovanju z nizi?
- Koncept niza
- Nespremenljiv niz
- Primerjava nizov
- Združevanje nizov
- Koncept podniza
- Metode razreda nizov in njihova uporaba
- Razred StringBuffer
- Razred StringBuilder
- Ustvarjanje nespremenljivega razreda
- metoda toString().
- Razred StringTokenizer