Hva du trenger å vite om bruk av strenger i Java

Hva du trenger å vite om bruk av strenger i Java

Når du begynner å lære Java, vil String -klassen fange oppmerksomheten din, takket være dens unike egenskaper.





Du kan opprette og manipulere strenger i Java lettere enn andre språk. Det er fordi String -klassen tilbyr forskjellige funksjoner.





Basert på disse funksjonene er det flere metoder for å generere og redigere strenger avhengig av dine preferanser og behov. På samme måte vil mye avhenge av søknaden din og hvor strenger må brukes.





Hvordan er Java -strenger forskjellige?

Hvis du tidligere har jobbet med C -språk, vet du at strenger i C er en rekke tegn (tegn). På den annen side er Java -strenger uforanderlige og inneholder Unicode -tegn.

hvordan legge til noen i whatsapp

En av de viktigste funksjonene som gjør strenger i Java unik er sammenkopling. Bare bruk tilleggsoperatoren + for å koble sammen to eller flere strenger. Dette er noe du ikke kan gjøre med andre Java -objekter, for eksempel Punkt eller Sirkel .



Som nevnt tidligere er også Java -strenger uforanderlige, det vil si at du ikke kan endre dem. For eksempel metoder som toUpperCase () og toLowerCase () generere en helt ny streng, i stedet for å gjøre endringer i det eksisterende strenginnholdet. Nå vil koden din returnere denne nylig genererte strengen.

Relatert: Hvordan manipulere tekst i PHP med disse funksjonene





Et annet område der strenger er forskjellige er når det gjelder å bruke nulltegn for å avslutte strenger på språk som C. I Java er strenger objekter som støttes av tegnfiler. Hvis du ønsker å lese innholdet i strengen din på den måten tegnfeltene representerer dem, ved hjelp av toCharArray () metoden vil gjøre jobben.

Å sammenligne strenger i Java er også mer praktisk enn på andre programmeringsspråk. I stedet for å skrive en lang blokk med kode for å sammenligne strenger, kan du bruke er lik() metode for å sammenligne to eller flere strenger som brukes i et hvilket som helst program. Dette er hovedsakelig fordi, i Java, er lik metoden overstyres av String -klassen, noe som gjør strengsammenligning til et stykke kake.





På en lignende måte er det også problemfritt å søke innenfor substrings i Java. Mens du bruker vanlige uttrykk eller metoder som lastIndexOf () og oversikt over(), du kan søke i segmenter av strenger og returnere verdier når en kamp er identifisert. Du kan også bruke vanlige uttrykk for å trimme og dele forskjellige strenger og bruke dem individuelt for en rekke bruksområder i ethvert program.

Hvordan lagres strenger i minnet?

Nå som du vet hva som gjør strenger i Java forskjellige og fordelaktige, la oss utforske String -klassen. Hvis du vet noe om minnestyring i Java, må du ha håndtert de to sentrale enhetene: haug og stabel.

Stakken brukes til å utføre prosesser og operasjoner etter å ha blitt kalt av et Java -program, mens haugen lagrer innhold - nødvendig for å kjøre og utføre kode effektivt. Så, hvordan er minnestyring relevant i tilfelle av strenger?

Det er fordi String -klassen og strengbokstavene i Java mottar ulik behandling. Dette indikerer at strengbokstavene tildeles unik lagringsplass i haugminnet, referert til som den strenge konstante poolen. Derfor, når du bruker strenglitteraler til å lage strengobjekter i Java, lagrer String Constant Pool dem.

Tvert imot, når du bruker ny søkeord for å lage strengobjekter, vil Java behandle dem akkurat som alle andre objekter og sende dem til haugen for lagring.

String Literals Eksempel

Nå som du vet nok om strengobjekter, la oss gå gjennom et eksempel på strengbokstaver:


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

Her opprettet strengen bokstavelig talt String -objektet med innhold Hello World fra MUO. Java sender dette objektet til String Constant Pool.

Bruke det nye søkeordet

Du kan også bruke ny søkeord for å generere strengobjekter.

Strengeobjektet til strengen himuo med innhold Hello World fra MUO har blitt generert av en streng bokstavelig og vil bli sendt til String Constant Pool. På samme måte kan strengobjekter også opprettes ved hjelp av det nye søkeordet som følger:


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

Eksemplet ovenfor bruker ny søkeord for å lage et strengobjekt. Som forklart tidligere, blir de sendt til haugen, hvor de er lagret med andre variabler og objekter som venter på å bli utført av programmet.

Nå må du være nysgjerrig på String Constant Pool, og det er riktig. Den tildeler bassengplass til objekter basert på strengobjektets innhold. Etter at String Constant Pool mottar objekter, kontrolleres det for å kontrollere om to objekter inneholder nøyaktig det samme innholdet.

Kan to strengobjekter lagre samme innhold?

Når en streng litteral brukes til å lage et nytt objekt, vurderer Java Virtual Machine (JVM) objektets innhold og evaluerer om det allerede finnes i bassenget. Når et objekt inneholder innhold som allerede er tilstede i bassenget, returneres objektets referanse uten å opprette det nye objektet. Hvis du må opprette det nye objektet, må du sørge for at innholdet er tydelig og unikt.

Men hvis du bruker ny søkeord for å opprette en ny streng, vil den bli behandlet annerledes. Når du bruker ny søkeord for å opprette en ny streng, vil den bli generert, uansett om den inneholder det samme innholdet som den eksisterende strengen.

Dette indikerer at to eksisterende strengeobjekter lagret i haugminnet har lov til å inneholde det samme innholdet; dette er forskjellig fra strengobjekter som er lagret i strengkonstantbassenget. Du kan også bevise dette med == operatoren; den returnerer sant hvis to objekter med samme fysiske adresse blir sammenlignet.


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

Nå kan du enkelt forstå strenger i Java

I denne artikkelen lærte du hvordan strenger i Java er forskjellige, måter å bruke strenger i Java, minnestyring av strenger i Java og andre viktige detaljer om hvordan strenger fungerer. For å teste din forståelse, hvorfor ikke skrive et Java -program for å sammenkoble to strenger?

Dele Dele kvitring E -post Lærer du Python? Her er hvordan du manipulerer strenger

Å bruke og manipulere strenger i Python kan virke vanskelig, men det er villedende greit.

Les neste
Relaterte temaer
  • Programmering
  • Java
Om forfatteren Usman Ghani(4 artikler publisert)

Usman er en innholdsmarkedsfører som har hjulpet flere virksomheter med organisk vekst på digitale plattformer. Han liker både programmering og skriving, noe som betyr at teknisk skriving er noe han liker godt. Når han ikke jobber, liker Usman å bruke tid på å se på TV -programmer, følge cricket og lese om dataanalyse.

Mer fra Usman Ghani

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere