logo

Java virkne

In Java , virkne būtībā ir objekts, kas attēlo char vērtību secību. An masīvs rakstzīmju skaits darbojas tāpat kā Java virkne. Piemēram:

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

ir tāds pats kā:

 String s='javatpoint'; 

Java virkne klase nodrošina daudzas metodes, lai veiktu darbības ar virknēm, piemēram, salīdzināt (), concat (), vienāds (), split (), garums (), aizstāt (), salīdzinātTo (), intern (), apakšvirkne () utt.

Klase java.lang.String tiek realizēta Serializējams , Salīdzināms un CharSequence saskarnes .

Virkne Java valodā

CharSequence interfeiss

CharSequence interfeiss tiek izmantots, lai attēlotu rakstzīmju secību. stīga, StringBuffer un StringBuilder klases to īsteno. Tas nozīmē, ka mēs varam izveidot virknes Java, izmantojot šīs trīs klases.

CharSequence Java

Java virkne ir nemainīga, kas nozīmē, ka to nevar mainīt. Ikreiz, kad mainām kādu virkni, tiek izveidota jauna instance. Maināmām virknēm varat izmantot klases StringBuffer un StringBuilder.

Nemainīgo virkni apspriedīsim vēlāk. Vispirms sapratīsim, kas ir String Java un kā izveidot String objektu.

Kas ir virkne Java?

Parasti virkne ir rakstzīmju secība. Bet Java valodā virkne ir objekts, kas attēlo rakstzīmju secību. Klase java.lang.String tiek izmantota, lai izveidotu virknes objektu.

Kā izveidot virknes objektu?

Ir divi veidi, kā izveidot virknes objektu:

  1. Ar virkni burtiski
  2. Pēc jauna atslēgvārda

1) String Literāls

Java String literāls tiek izveidots, izmantojot dubultās pēdiņas. Piemēram:

 String s='welcome'; 

Katru reizi, kad veidojat virknes literālu, JVM vispirms pārbauda 'virknes konstantes kopu'. Ja virkne jau pastāv pūlā, tiek atgriezta atsauce uz apvienoto gadījumu. Ja virkne pūlā neeksistē, tiek izveidota jauna virknes instance un ievietota pūlā. Piemēram:

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

Java virkne

Iepriekš minētajā piemērā tiks izveidots tikai viens objekts. Pirmkārt, JVM neatradīs nevienu virknes objektu ar vērtību 'Welcome' virkņu nemainīgajā pūlā, tāpēc tas izveidos jaunu objektu. Pēc tam tas pūlā atradīs virkni ar vērtību “Laipni lūdzam”, tā neizveidos jaunu objektu, bet atgriezīs atsauci uz to pašu gadījumu.

Piezīme. Virknes objekti tiek glabāti īpašā atmiņas apgabalā, kas pazīstams kā 'virkņu konstante baseins'.

Kāpēc Java izmanto jēdzienu String literal?

Lai padarītu Java efektīvāku atmiņu (jo netiek izveidoti jauni objekti, ja tas jau pastāv virknes konstantes pūlā).

2) Pēc jauna atslēgvārda

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

Tādā gadījumā, JVM izveidos jaunu virknes objektu parastā (ne-pūles) kaudzes atmiņā, un burtiskais 'Welcome' tiks ievietots virknes konstantajā pūlā. Mainīgais s attieksies uz objektu kaudzē (nav pūla).

štati ASV

Java virknes piemērs

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); }} 
Izmēģiniet to tagad

Izvade:

java strings example 

Iepriekš minētais kods pārvērš a char masīvs a Stīga objektu. Un parāda String objektus s1, s2 , un s3 konsolē, izmantojot println() metodi.

Java virkņu klases metodes

Klase java.lang.String nodrošina daudzas noderīgas metodes, lai veiktu darbības ar char vērtību secību.

Nē.MetodeApraksts
1 char charAt(int index) Tas atgriež char vērtību konkrētajam indeksam
2 int garums () Tas atgriež virknes garumu
3 statiskais virknes formāts (virknes formāts, objekta... args) Tas atgriež formatētu virkni.
4 statisks virknes formāts (lokāle l, virknes formāts, objekta... args) Tas atgriež formatētu virkni ar norādīto lokalizāciju.
5 Virknes apakšvirkne (int beginIndex) Tas atgriež apakšvirkni noteiktajam sākuma indeksam.
6 Virknes apakšvirkne (int beginIndex, in endindex) Tas atgriež apakšvirkni dotajam sākuma indeksam un beigu indeksam.
7 Būla saturs (CharSequence s) Tas atgriež patiesu vai nepatiesu pēc atbilstības char vērtības secībai.
8 statiskā virknes savienošana (CharSequence atdalītājs, CharSequence... elementi) Tas atgriež savienotu virkni.
9 statiskā virknes savienošana (CharSequence atdalītājs, atkārtojami elementi) Tas atgriež savienotu virkni.
10 Būla ir vienāds (Objekts cits) Tas pārbauda virknes vienādību ar doto objektu.
vienpadsmit Būla vērtība ir Tukšs() Tas pārbauda, ​​vai virkne ir tukša.
12 String concat (String str) Tas savieno norādīto virkni.
13 Virknes aizstāšana (vecā rakstzīme, jauna rakstzīme) Tas aizstāj visus norādītās char vērtības gadījumus.
14 Virknes aizstāšana (CharSequence veca, CharSequence jauna) Tas aizstāj visus norādītās CharSequence gadījumus.
piecpadsmit statiskā virkne ir vienāda ar IgnoreCase (virkne cita) Tas salīdzina citu virkni. Tas nepārbauda gadījumu.
16 Virknes[] sadalījums (virknes regulārā izteiksme) Tas atgriež sadalītu virkni, kas atbilst regulārai izteiksmei.
17 Virknes[] sadalījums (virknes regulārais izteiksme, iekšējais ierobežojums) Tas atgriež sadalītu virkni, kas atbilst regulārai izteiksmei un ierobežojumam.
18 String intern() Tas atgriež internētu virkni.
19 int indexOf(int ch) Tas atgriež norādīto char vērtības indeksu.
divdesmit int indexOf(int ch, int fromIndex) Tas atgriež norādīto rakstzīmju vērtības indeksu, sākot ar doto indeksu.
divdesmitviens int indexOf (virknes apakšvirkne) Tas atgriež norādīto apakšvirknes indeksu.
22 int indexOf (virknes apakšvirkne, int no indeksa) Tas atgriež norādīto apakšvirknes indeksu, sākot ar doto indeksu.
23 Virkne mazajiem burtiem() Tas atgriež virkni ar mazajiem burtiem.
24 Virkne līdz mazajiem burtiem (lokāle l) Tas atgriež virkni ar mazajiem burtiem, izmantojot norādīto lokalizāciju.
25 Virkne lielajiem burtiem() Tas atgriež virkni ar lielajiem burtiem.
26 Virkne ar lielajiem burtiem (lokāle l) Tas atgriež virkni ar lielajiem burtiem, izmantojot norādīto lokalizāciju.
27 Virknes apgriešana () Tas noņem šīs virknes sākuma un beigu atstarpes.
28 statiskā virkne valueOf(int value) Tas pārvērš norādīto veidu virknē. Tā ir pārslogota metode.

Vai Tu zini?
  • Kāpēc stīgu objekti ir nemainīgi?
  • Kā izveidot nemainīgu klasi?
  • Kas ir stīgu konstante baseins?
  • Kādu kodu raksta kompilators, ja jebkuru virkni savienojat ar + (string concatenation operator)?
  • Kāda ir atšķirība starp StringBuffer un StringBuilder klasi?

Ko mēs iemācīsimies stīgu apstrādē?
  • Stīgas jēdziens
  • Nemaināma stīga
  • Stīgu salīdzinājums
  • Virkņu savienošana
  • Apakšvirknes jēdziens
  • Stīgu klases metodes un to lietojums
  • StringBuffer klase
  • StringBuilder klase
  • Nemainīgas klases izveide
  • toString() metode
  • StringTokenizer klase