Vad du behöver veta om hur du använder strängar i Java

Vad du behöver veta om hur du använder strängar i Java

När du börjar lära dig Java kommer String -klassen att fånga din uppmärksamhet, tack vare dess unika egenskaper.





Du kan skapa och manipulera strängar i Java lättare än andra språk. Det beror på att String -klassen erbjuder olika funktioner.





Baserat på dessa funktioner finns det flera metoder för att generera och redigera strängar beroende på dina preferenser och behov. På samma sätt beror mycket på din applikation och var strängar måste användas.





Hur skiljer sig Java -strängar?

Om du tidigare har arbetat med C -språk vet du att strängar i C är en rad tecken (tecken). Å andra sidan är Java -strängar oföränderliga och innehåller Unicode -tecken.

Windows 10 första saker att göra

En av nyckelfunktionerna som gör strängar i Java unik är sammanfogning. Använd bara tilläggsoperatorn + för att ansluta två eller flera strängar. Detta är något du inte kan göra med andra Java -objekt, t.ex. Punkt eller Cirkel .



Som nämnts tidigare är Java -strängar oföränderliga, det vill säga att du inte kan ändra dem. Till exempel metoder som toUpperCase () och toLowerCase () skapa en helt ny sträng, istället för att göra ändringar i det befintliga stränginnehållet. Nu kommer din kod att returnera den nyskapade strängen.

Relaterat: Hur man manipulerar text i PHP med dessa funktioner





Ett annat område där strängar är olika är när det gäller att använda nulltecken för att avsluta strängar på språk som C. I Java är strängar objekt som stöds av teckenuppsättningar. Om du vill läsa din strängs innehåll på det sätt som teckenuppsättningar representerar dem med hjälp av toCharArray () metod kommer att göra jobbet.

Att jämföra strängar i Java är också bekvämare än på andra programmeringsspråk. I stället för att skriva ett långt kodblock för att jämföra strängar kan du använda lika med () metod för att jämföra två eller flera strängar som används i något program. Detta beror främst på att, i Java, lika med metoden åsidosätts av strängklassen, vilket gör strängjämförelse till en kaka.





På liknande sätt är det också problemfritt att söka i substrings i Java. Medan du använder reguljära uttryck eller metoder som lastIndexOf () och index för(), du kan söka efter segment av strängar och returvärden när en matchning har identifierats. Du kan också använda vanliga uttryck för att trimma och dela upp olika strängar och använda dem individuellt för en mängd olika användningsområden i alla program.

Hur lagras strängar i minnet?

Nu när du vet vad som gör strängar i Java olika och fördelaktiga, låt oss utforska strängklassen. Om du kan en sak eller två om minneshantering i Java, måste du ha hanterat dess två nyckelobjekt: hög och stack.

Stacken används för att köra processer och operationer efter att ha blivit anropad av ett Java -program, medan hög lagrar innehåll - som behövs för att köra och köra kod effektivt. Så, hur är minneshantering relevant vid strängar?

Det beror på att strängklassen och strängbokstavarna i Java får olika behandling. Detta indikerar att strängliteraler tilldelas unikt lagringsutrymme i högminnet, kallat String Constant Pool. Därför, när du använder strängbokstavar för att skapa strängobjekt i Java, lagrar String Constant Pool dem.

Tvärtom, när du använder ny nyckelord för att skapa strängobjekt, kommer Java att behandla dem precis som alla andra objekt och skicka dem till högen för lagring.

String Literals Exempel

Nu när du vet tillräckligt om strängobjekt, låt oss gå igenom ett exempel på stränglitteraler:


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

Här skapade strängen bokstavligen String -objektet med innehåll Hello World från MUO. Java skickar detta objekt till String Constant Pool.

Använda det nya sökordet

Du kan också använda ny nyckelord för att generera String -objekt.

Strängobjektet för strängen himuo med innehåll Hello World från MUO har genererats av en strängbokstav och skickas till String Constant Pool. På samma sätt kan strängobjekt också skapas med det nya sökordet enligt följande:


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

I exemplet ovan används ny nyckelord för att skapa ett strängobjekt. Som förklarats tidigare skickas de till högen, där de lagras med andra variabler och objekt som väntar på att köras av programmet.

Vid det här laget måste du vara nyfiken på String Constant Pool, och med rätta. Det tilldelar poolutrymme till objekt baserat på strängobjektets innehåll. När String Constant Pool tar emot objekt kontrollerar de dem för att verifiera om två objekt innehåller exakt samma innehåll.

Kan två strängobjekt lagra samma innehåll?

När en strängbokstav används för att skapa ett nytt objekt, granskar Java Virtual Machine (JVM) objektinnehållet och utvärderar om det redan finns i poolen. När ett objekt innehåller innehåll som redan finns i poolen returneras objektets referens utan att skapa det nya objektet. Om du måste skapa det nya objektet måste du se till att innehållet är distinkt och unikt.

Men om du använder ny nyckelord för att skapa en ny sträng, kommer den att bearbetas annorlunda. När du använder ny nyckelord för att skapa en ny sträng, genereras den, oavsett om den innehåller samma innehåll som den befintliga strängen.

Detta indikerar att två befintliga strängobjekt lagrade i högminnet får innehålla samma innehåll; detta skiljer sig från strängobjekt som lagras i strängkonstantpoolen. Du kan också bevisa detta med == operatören; det returnerar sant om två objekt med samma fysiska adress jämförs.


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

Nu kan du enkelt förstå strängar i Java

I den här artikeln lärde du dig hur strängar i Java är olika, sätt att använda strängar i Java, minneshantering av strängar i Java och andra viktiga detaljer om hur strängar fungerar. För att testa din förståelse, varför inte skriva ett Java -program för att sammanfoga två strängar?

Dela med sig Dela med sig Tweet E-post Lär dig Python? Så här manipulerar du strängar

Att använda och manipulera strängar i Python kan verka svårt, men det är bedrägligt enkelt.

Läs Nästa
Relaterade ämnen
  • Programmering
  • Java
Om författaren Usman Ghani(4 artiklar publicerade)

Usman är en innehållsmarknadsförare som har hjälpt flera företag med organisk tillväxt på digitala plattformar. Han gillar både programmering och att skriva, vilket innebär att tekniskt skrivande är något han tycker mycket om. När han inte arbetar tycker han om att titta på tv -program, följa cricket och läsa om dataanalys.

Mer från Usman Ghani

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera