Mitä sinun tarvitsee tietää merkkijonojen käyttämisestä Javassa

Mitä sinun tarvitsee tietää merkkijonojen käyttämisestä Javassa

Kun aloitat Javan oppimisen, String -luokka herättää huomiosi ainutlaatuisten ominaisuuksiensa ansiosta.





Voit luoda ja käsitellä Javan merkkijonoja helpommin kuin muut kielet. Tämä johtuu siitä, että String -luokka tarjoaa erilaisia ​​ominaisuuksia.





Näiden ominaisuuksien perusteella on useita tapoja luoda ja muokata merkkijonoja mieltymystesi ja tarpeidesi mukaan. Samoin paljon riippuu sovelluksestasi ja siitä, missä merkkijonoja on käytettävä.





Miten Java -merkkijonot eroavat toisistaan?

Jos olet aiemmin työskennellyt C -kielen kanssa, tiedät, että C -merkkijonot ovat joukko merkkiä (merkkiä). Toisaalta Java -merkkijonot ovat muuttumattomia ja sisältävät Unicode -merkkejä.

kuinka kääntää sivellintä Photoshopissa

Yksi keskeisistä ominaisuuksista, jotka tekevät Java -merkkijonoista ainutlaatuisia, on ketjutus. Käytä vain lisäysoperaattoria + kahden tai useamman merkkijonon yhdistämiseen. Tätä et voi tehdä muiden Java -objektien kanssa, kuten Kohta tai Ympyrä .



Lisäksi, kuten aiemmin mainittiin, Java -merkkijonot ovat muuttumattomia, eli et voi muokata niitä. Esimerkiksi sellaisia ​​menetelmiä kuin toUpperCase () ja pienille kirjaimille () Luo täysin uusi merkkijono sen sijaan, että tekisit muutoksia olemassa olevaan merkkijonon sisältöön. Nyt koodisi palauttaa tämän vasta luodun merkkijonon.

Aiheeseen liittyviä: Kuinka manipuloida tekstiä PHP: ssä näiden toimintojen avulla





Toinen alue, jossa merkkijonot ovat erilaisia, on tyhjien merkkien käyttäminen merkkijonojen päättämiseen kielellä C. Jos haluat lukea merkkijonosi sisällön tavalla, jolla merkkitaulukot edustavat sitä, käytä toCharArray () menetelmä hoitaa homman.

Merkkijonojen vertailu Javassa on myös helpompaa kuin muilla ohjelmointikielillä. Sen sijaan, että kirjoittaisit pitkän koodilohkon merkkijonojen vertaamiseksi, voit käyttää yhtä kuin () menetelmä kahden tai useamman jossakin ohjelmassa käytetyn merkkijonon vertaamiseksi. Tämä johtuu pääasiassa siitä, että Javassa yhtä suuri String -luokka ohittaa menetelmän, mikä tekee merkkijonojen vertailusta kakun.





Samalla tavoin myös Java-haun alimerkkien etsiminen on vaivatonta. Säännöllisiä lausekkeita käytettäessä tai sellaisilla menetelmillä lastIndexOf () ja sisällysluettelo(), voit etsiä merkkijonojen segmenttejä ja palauttaa arvoja, kun osuma on tunnistettu. Voit myös leikata ja jakaa eri merkkijonoja säännöllisillä lausekkeilla ja käyttää niitä yksitellen monenlaisiin käyttötarkoituksiin missä tahansa ohjelmassa.

Miten merkkijonot tallennetaan muistiin?

Nyt kun tiedät, mikä tekee Java -merkkijonoista erilaisia ​​ja hyödyllisiä, tutkitaan String -luokkaa. Jos tiedät yhden tai kaksi asiaa Javan muistinhallinnasta, sinun on täytynyt käsitellä sen kaksi keskeistä kokonaisuutta: kasa ja pino.

Pinoa käytetään prosessien ja toimintojen suorittamiseen Java -ohjelman kutsun jälkeen, kun taas kasaan tallennetaan sisältöä, jota tarvitaan koodin tehokkaaseen suorittamiseen ja suorittamiseen. Joten miten muistinhallinta on merkityksellistä merkkijonojen tapauksessa?

Tämä johtuu siitä, että Javan String -luokka ja merkkijono -kirjaimet käsitellään eri tavalla. Tämä osoittaa, että merkkijono -literaaleille on määritetty ainutlaatuinen tallennustila kasan muistissa, jota kutsutaan merkkijonovakio -pooliksi. Siksi aina, kun käytät merkkijono -literaaleja merkkijonoobjektien luomiseen Javassa, String Constant Pool tallentaa ne.

Päinvastoin, kun käytät Uusi avainsana merkkijonoobjektien luomiseksi, Java kohtelee niitä aivan kuten mitä tahansa muuta objektia ja lähettää ne kasaan tallennettavaksi.

Esimerkki merkkijonoista

Nyt kun tiedät tarpeeksi merkkijonoobjekteista, käydään läpi esimerkki merkkijono -kirjaimista:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Tässä merkkijono literaali loi String -objektin, jonka sisältö oli Hello World MUO: sta. Java lähettää tämän objektin merkkijonovakioon.

Uuden avainsanan käyttäminen

Voit myös käyttää Uusi avainsana merkkijonoobjektien luomiseksi.

Merkkijonon himuo merkkijono, jonka sisältö on Hello World MUO: sta, on generoitu merkkijonon kirjaimella ja se lähetetään merkkijonovakioon. Samoin merkkijonoobjekteja voidaan luoda myös käyttämällä uutta avainsanaa seuraavasti:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

Yllä oleva esimerkki käyttää Uusi avainsana merkkijonoobjektin luomiseksi. Kuten aiemmin selitettiin, ne lähetetään kasaan, missä ne tallennetaan muiden muuttujien ja objektien kanssa, jotka odottavat ohjelman suorittamista.

Tähän mennessä sinun on oltava utelias String Constant Poolista, ja aivan oikein. Se varaa poolitilan objekteille merkkijono -objektin sisällön perusteella. Kun String Constant Pool vastaanottaa objekteja, se tarkistaa ne varmistaakseen, sisältävätkö kaksi objektia täsmälleen samaa sisältöä.

Voivatko kaksi merkkijonoa sisältävät objektit tallentaa saman sisällön?

Kun merkkijonoa käytetään uuden objektin luomiseen, Java Virtual Machine (JVM) tarkistaa objektin sisällön ja arvioi, onko se jo olemassa poolissa. Kun objekti sisältää sisältöä, joka on jo läsnä poolissa, objektin viite palautetaan luomatta uutta objektia. Jos sinun on luotava uusi objekti, sinun on varmistettava, että sisältö on erillistä ja ainutlaatuista.

Jos kuitenkin käytät Uusi avainsana uuden merkkijonon luomiseksi, se käsitellään eri tavalla. Kun käytät Uusi avainsana uuden merkkijonon luomiseksi, se luodaan riippumatta siitä, sisältääkö se samaa sisältöä kuin nykyinen merkkijono.

Tämä osoittaa, että kaksi kasan muistiin tallennettua merkkijonoobjektia saa sisältää saman sisällön; tämä eroaa merkkijonoobjekteista, jotka on tallennettu merkkijonovakioon. Voit todistaa tämän myös == -operaattorilla; se palauttaa arvon tosi, jos verrataan kahta objektia, joilla on sama fyysinen osoite.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Nyt ymmärrät Javan merkkijonot helposti

Tässä artikkelissa opit, kuinka Javan merkkijonot ovat erilaisia, tapoja käyttää Javan merkkijonoja, Java -merkkijonojen muistinhallinta ja muita tärkeitä yksityiskohtia merkkijonojen toiminnasta. Jos haluat testata ymmärrystäsi, miksi et kirjoita Java -ohjelmaa kahden merkkijonon yhdistämiseksi?

Jaa Jaa Tweet Sähköposti Opetellaanko Pythonia? Näin käsittelet merkkijonoja

Merkkijonojen käyttö ja käsittely Pythonissa voi vaikuttaa vaikealta, mutta se on petollisesti yksinkertaista.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Java
Kirjailijasta Usman Ghani(4 artikkelia julkaistu)

Usman on sisältömarkkinoija, joka on auttanut useita yrityksiä orgaanisessa kasvussa digitaalisilla alustoilla. Hän pitää sekä ohjelmoinnista että kirjoittamisesta, mikä tarkoittaa, että tekninen kirjoittaminen on jotain, mistä hän pitää paljon. Kun Usman ei toimi, hän nauttii television katselusta, kriketin seuraamisesta ja data -analytiikan lukemisesta.

Lisää Usman Ghanilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi