logo

Java-merkkijono

Sisään Java , merkkijono on periaatteessa objekti, joka edustaa char-arvojen sarjaa. An joukko merkkijono toimii samalla tavalla kuin Java-merkkijono. Esimerkiksi:

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

on sama kuin:

 String s='javatpoint'; 

Java-merkkijono luokka tarjoaa monia menetelmiä toimintojen suorittamiseen merkkijonoille, kuten vertaa(), concat(), equals(), split(), pituus(), korvaa(), vertaa(), intern(), alimerkkijono() jne.

Luokka java.lang.String toteuttaa Sarjasoitavissa , Vertailukelpoinen ja CharSequence käyttöliittymät .

Javalla merkkijono

CharSequence-liitäntä

CharSequence-liitäntää käytetään edustamaan merkkijonoa. merkkijono, StringBuffer ja StringBuilder luokat toteuttavat sen. Se tarkoittaa, että voimme luoda merkkijonoja Javassa käyttämällä näitä kolmea luokkaa.

CharSequence Javassa

Java-merkkijono on muuttumaton, mikä tarkoittaa, että sitä ei voi muuttaa. Aina kun muutamme merkkijonoa, luodaan uusi esiintymä. Muuttuville merkkijonoille voit käyttää StringBuffer- ja StringBuilder-luokkia.

Keskustelemme muuttumattomasta kielestä myöhemmin. Ymmärrämme ensin, mikä Javan merkkijono on ja kuinka String-objekti luodaan.

Mikä on merkkijono Javassa?

Yleensä merkkijono on merkkijono. Mutta Javassa merkkijono on objekti, joka edustaa merkkijonoa. Luokkaa java.lang.String käytetään merkkijonoobjektin luomiseen.

Kuinka luodaan merkkijonoobjekti?

On kaksi tapaa luoda String-objekti:

  1. Merkkijonokirjaimella
  2. Uuden avainsanan mukaan

1) Merkkijono

Java String literal luodaan käyttämällä lainausmerkkejä. Esimerkiksi:

 String s='welcome'; 

Joka kerta kun luot merkkijonoliteraalin, JVM tarkistaa ensin 'merkkijonovakiovarannon'. Jos merkkijono on jo olemassa poolissa, palautetaan viittaus yhdistettyyn ilmentymään. Jos merkkijonoa ei ole poolissa, uusi merkkijono-ilmentymä luodaan ja sijoitetaan pooliin. Esimerkiksi:

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

Java-merkkijono

Yllä olevassa esimerkissä luodaan vain yksi objekti. Ensinnäkin JVM ei löydä merkkijono-objektia, jonka arvo on 'Tervetuloa', merkkijonovakiovarannosta, minkä vuoksi se luo uuden objektin. Sen jälkeen se löytää poolista merkkijonon, jonka arvo on 'Tervetuloa', eikä se luo uutta objektia, vaan palauttaa viittauksen samaan esiintymään.

Huomautus: Merkkijonoobjektit tallennetaan erityiselle muistialueelle, joka tunnetaan nimellä 'merkkijonovakiovarasto'.

Miksi Java käyttää String literaalin käsitettä?

Javan tehostamiseksi muistia (koska uusia objekteja ei luoda, jos se on jo olemassa merkkijonovakiovarannossa).

2) Uudella avainsanalla

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

Siinä tapauksessa, JVM luo uuden merkkijonoobjektin normaaliin (ei-pooliin) kasomuistiin, ja kirjaimellinen 'Tervetuloa' sijoitetaan merkkijonovakiovaraan. Muuttuja s viittaa objektiin kasassa (ei-poolissa).

matriisin kertolasku c:ssä

Java-merkkijono esimerkki

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); }} 
Testaa nyt

Lähtö:

java strings example 

Yllä oleva koodi muuntaa a hiiltyä joukko a merkkijono esine. Ja näyttää merkkijono-objektit s1, s2 , ja s3 konsolissa käytössä println() menetelmä.

Java-merkkijonoluokan menetelmät

Luokka java.lang.String tarjoaa monia hyödyllisiä menetelmiä toimintojen suorittamiseen merkkiarvojen sarjalle.

Ei.MenetelmäKuvaus
1 char charAt(int index) Se palauttaa char-arvon tietylle indeksille
2 int pituus () Se palauttaa merkkijonon pituuden
3 staattinen merkkijonomuoto (merkkijonomuoto, objekti... args) Se palauttaa muotoillun merkkijonon.
4 staattinen merkkijonomuoto (Locale l, merkkijonomuoto, objekti... args) Se palauttaa muotoillun merkkijonon tietyllä kieli-asetuksilla.
5 Merkkijonon alimerkkijono(int beginIndex) Se palauttaa tietyn aloitusindeksin alimerkkijonon.
6 Merkkijonon alimerkkijono(int beginIndex, in end endIndex) Se palauttaa tietyn aloitus- ja loppuindeksin alimerkkijonon.
7 boolean sisältää (CharSequence s) Se palauttaa tosi tai epätosi, kun se on täsmäänyt char-arvon sekvenssin.
8 staattinen merkkijonon liitos (CharSequence-erotin, CharSequence...-elementit) Se palauttaa yhdistetyn merkkijonon.
9 staattinen merkkijonon liitos (CharSequence-erotin, iteroitavat elementit) Se palauttaa yhdistetyn merkkijonon.
10 Boolen arvo on (Objektio toinen) Se tarkistaa merkkijonon yhtäläisyyden annetun objektin kanssa.
yksitoista boolean isEmpty() Se tarkistaa, onko merkkijono tyhjä.
12 Merkkijono concat (merkkijono str) Se ketjuttaa määritetyn merkkijonon.
13 Merkkijono korvaa (merkki vanha, merkki uusi) Se korvaa kaikki määritetyn merkkiarvon esiintymät.
14 Merkkijonon vaihto (CharSequence vanha, CharSequence uusi) Se korvaa kaikki määritetyn CharSequencen esiintymät.
viisitoista staattinen merkkijono yhtä kuinIgnoreCase(merkkijono toinen) Se vertaa toista merkkijonoa. Se ei tarkista tapausta.
16 Merkkijono[] jako (merkkijonon säännöllinen lauseke) Se palauttaa jaetun merkkijonon, joka vastaa säännöllistä lauseketta.
17 Merkkijono[] jako (merkkijonon säännöllinen lauseke, sisäinen raja) Se palauttaa jaetun merkkijonon, joka vastaa säännöllistä lauseketta ja rajaa.
18 merkkijono harjoittelija() Se palauttaa sisäisen merkkijonon.
19 int indexOf(int ch) Se palauttaa määritetyn char-arvoindeksin.
kaksikymmentä int indexOf(int ch, int fromIndex) Se palauttaa määritetyn merkkiarvon indeksin alkaen annetusta indeksistä.
kaksikymmentäyksi int indexOf(merkkijonon alimerkkijono) Se palauttaa määritetyn osamerkkijonoindeksin.
22 int indexOf(merkkijonon alimerkkijono, int hakemistosta) Se palauttaa määritetyn osamerkkijonoindeksin alkaen annetusta indeksistä.
23 Merkkijono pieniin kirjaimiin() Se palauttaa merkkijonon pienillä kirjaimilla.
24 Merkkijono pieniin kirjaimiin (Locale l) Se palauttaa merkkijonon pienillä kirjaimilla käyttämällä määritettyä aluetta.
25 Merkkijono isot kirjaimet() Se palauttaa merkkijonon isoilla kirjaimilla.
26 Merkkijono isot kirjaimet (kieli l) Se palauttaa merkkijonon isoilla kirjaimilla käyttämällä määritettyä aluetta.
27 merkkijono trimmaus() Se poistaa tämän merkkijonon alku- ja loppuvälilyönnit.
28 staattinen merkkijono arvoOf(int arvo) Se muuntaa tietyn tyypin merkkijonoksi. Se on ylikuormitettu menetelmä.

Tiedätkö?
  • Miksi merkkijono-oliot ovat muuttumattomia?
  • Kuinka luoda muuttumaton luokka?
  • Mikä on merkkijonovakiopooli?
  • Mitä koodia kääntäjä kirjoittaa, jos ketjutat minkä tahansa merkkijonon +:lla (merkkijonojen ketjutusoperaattori)?
  • Mitä eroa on StringBuffer- ja StringBuilder-luokilla?

Mitä opimme merkkijonojen käsittelyssä?
  • Stringin käsite
  • Muuttumaton merkkijono
  • Merkkijonojen vertailu
  • Merkkijonojen ketjutus
  • Alimerkkijonon käsite
  • Merkkijonoluokan menetelmät ja niiden käyttö
  • StringBuffer-luokka
  • StringBuilder-luokka
  • Muuttumattoman luokan luominen
  • toString()-metodi
  • StringTokenizer-luokka