logo

Java-streng

I Java , er streng i utgangspunktet et objekt som representerer sekvensen av char-verdier. An array av tegn fungerer på samme måte som Java-streng. For eksempel:

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

er det samme som:

 String s='javatpoint'; 

Java-streng klasse gir mange metoder for å utføre operasjoner på strenger som compare(), concat(), equals(), split(), length(), replace(), compareTo(), intern(), substring() osv.

Java.lang.String-klassen implementerer Serialiserbar , Sammenlignbar og CharSequence grensesnitt .

String i Java

CharSequence-grensesnitt

CharSequence-grensesnittet brukes til å representere sekvensen av tegn. streng, StringBuffer og StringBuilder klassene implementerer det. Det betyr at vi kan lage strenger i Java ved å bruke disse tre klassene.

CharSequence i Java

Java-strengen er uforanderlig, noe som betyr at den ikke kan endres. Hver gang vi endrer en streng, opprettes en ny forekomst. For mutable strenger, kan du bruke StringBuffer og StringBuilder klasser.

Vi vil diskutere uforanderlig streng senere. La oss først forstå hva String i Java er og hvordan du lager String-objektet.

Hva er streng i Java?

Generelt er streng en sekvens av tegn. Men i Java er streng et objekt som representerer en sekvens av tegn. Java.lang.String-klassen brukes til å lage et strengobjekt.

Hvordan lage et strengobjekt?

Det er to måter å lage String-objekt på:

  1. Ved streng bokstavelig
  2. Etter nytt søkeord

1) Streng bokstavelig

Java String literal er laget ved å bruke doble anførselstegn. For eksempel:

 String s='welcome'; 

Hver gang du oppretter en streng-literal, sjekker JVM først 'strengkonstantpoolen'. Hvis strengen allerede finnes i bassenget, returneres en referanse til den sammenslåtte forekomsten. Hvis strengen ikke finnes i bassenget, opprettes en ny strengforekomst og plasseres i bassenget. For eksempel:

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

Java-streng

I eksemplet ovenfor vil bare ett objekt bli opprettet. For det første vil ikke JVM finne noe strengobjekt med verdien 'Velkommen' i strengkonstantpool, det er grunnen til at det vil opprette et nytt objekt. Etter det vil den finne strengen med verdien 'Velkommen' i bassenget, den vil ikke opprette et nytt objekt, men returnere referansen til samme instans.

Merk: Strengeobjekter lagres i et spesielt minneområde kjent som 'strengkonstantpool'.

Hvorfor bruker Java konseptet String literal?

For å gjøre Java mer minneeffektivt (fordi ingen nye objekter opprettes hvis det allerede finnes i strengkonstantpoolen).

2) Etter nytt søkeord

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

I så fall, JVM vil opprette et nytt strengobjekt i normal (ikke-pool) heap-minne, og den bokstavelige 'Velkommen' vil bli plassert i strengkonstantpoolen. Variabelen s vil referere til objektet i en haug (ikke-pool).

'eulers nummer i java'

Eksempel på Java-streng

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); }} 
Test det nå

Produksjon:

java strings example 

Koden ovenfor konverterer en røye rekke inn i en String gjenstand. Og viser String-objektene s1, s2 , og s3 på konsollen ved hjelp av println() metode.

Java String klasse metoder

Java.lang.String-klassen gir mange nyttige metoder for å utføre operasjoner på sekvens av char-verdier.

Nei.MetodeBeskrivelse
1 char charAt(int index) Den returnerer char-verdi for den bestemte indeksen
2 int lengde() Den returnerer strenglengde
3 statisk strengformat (strengformat, objekt... args) Den returnerer en formatert streng.
4 statisk strengformat (Locale l, strengformat, objekt... args) Den returnerer formatert streng med gitt lokalitet.
5 String substring(int beginIndex) Den returnerer delstreng for gitt startindeks.
6 String substring(int beginIndex, int endIndex) Den returnerer delstreng for gitt startindeks og sluttindeks.
7 boolsk inneholder(CharSequence s) Den returnerer sann eller usann etter å ha matchet sekvensen av char-verdien.
8 static String join(CharSequence-skilletegn, CharSequence...elementer) Den returnerer en sammenføyd streng.
9 statisk strengsammenføyning (CharSequence-skilletegn, Iterable elementer) Den returnerer en sammenføyd streng.
10 boolsk lik (objekt annet) Den sjekker likheten til strengen med det gitte objektet.
elleve boolsk er tom() Den sjekker om strengen er tom.
12 String concat(String str) Den kobler sammen den angitte strengen.
1. 3 String replace (char old, char new) Den erstatter alle forekomster av den angitte char-verdien.
14 String replace(CharSequence old, CharSequence new) Den erstatter alle forekomster av den angitte CharSequence.
femten statisk streng er lik IgnoreCase(streng en annen) Den sammenligner en annen streng. Det sjekker ikke saken.
16 String[] delt(Regeks streng) Den returnerer en delt streng som samsvarer med regulært uttrykk.
17 String[] delt(strengregex, int limit) Den returnerer en delt streng som samsvarer med regulært uttrykk og grense.
18 String intern() Den returnerer en intern streng.
19 int indexOf(int ch) Den returnerer den angitte char-verdiindeksen.
tjue int indexOf(int ch, int fromIndex) Den returnerer den angitte char-verdiindeksen som starter med gitt indeks.
tjueen int indexOf(String substring) Den returnerer den angitte understrengindeksen.
22 int indexOf(String substring, int fromIndex) Den returnerer den spesifiserte understrengindeksen som starter med gitt indeks.
23 String toLowerCase() Den returnerer en streng med små bokstaver.
24 String toLowerCase(Locale l) Den returnerer en streng med små bokstaver ved å bruke spesifisert lokalitet.
25 String toUpperCase() Den returnerer en streng med store bokstaver.
26 String til Store bokstaver (Locale l) Den returnerer en streng med store bokstaver ved å bruke spesifisert lokalitet.
27 String trim() Den fjerner start- og sluttrom i denne strengen.
28 statisk strengverdi Av(int verdi) Den konverterer gitt type til streng. Det er en overbelastet metode.

Vet du?
  • Hvorfor er strengobjekter uforanderlige?
  • Hvordan lage en uforanderlig klasse?
  • Hva er strengkonstant basseng?
  • Hvilken kode skrives av kompilatoren hvis du setter sammen en streng med + (strengsammenkoblingsoperator)?
  • Hva er forskjellen mellom StringBuffer og StringBuilder klasse?

Hva vil vi lære i strenghåndtering?
  • Konsept av streng
  • Uforanderlig streng
  • Strengesammenligning
  • Sammenknytting av strenger
  • Konseptet med understreng
  • Stringklassemetoder og bruken av dem
  • StringBuffer klasse
  • StringBuilder-klassen
  • Opprette uforanderlig klasse
  • toString()-metoden
  • StringTokenizer-klassen