1. Klassens String
struktur
Idag ska vi prata om String
klassen. Efter ints är String-klassen den mest populära klassen i Java. Den används absolut överallt. Den har ett gäng användbara metoder som du är bättre på att känna till.
Klassen String
är den enda klassen förutom primitiva typer vars bokstavliga ord kan användas i ett switch
uttalande; kompilatorn hanterar strängtillägg och strängobjekt på ett speciellt sätt; String
föremål lagras i minnet på ett speciellt sätt. I grund och botten String
är klassen en väldigt speciell klass.
Klassen har också String
ett gäng hjälpklasser vars syfte är att ytterligare förenkla arbetet med strängar i Java. När du lär dig allt detta kommer många saker verkligen att bli mycket lättare för dig att göra. Tja, vi ska börja från själva kärnan i detta ekosystem - klassens organisation String
.
Uppsättning av karaktärer
Klassens struktur String
är faktiskt väldigt enkel: inuti den finns en teckenarray (char array) som lagrar alla tecken i strängen. Så här lagras till exempel ordet "Hej":

Egentligen är detta inte riktigt korrekt. Eftersom String
klassen är väldigt viktig använder den många optimeringar och data lagras internt inte som en teckenuppsättning, utan helt enkelt som en bytematris.
2. Klassens String
metoder
Klassen String
har många metoder: den har bara 18 konstruktörer! Så nedan nämner vi bara de mest grundläggande av dem:
Metoder | Beskrivning |
---|---|
|
Returnerar antalet tecken i strängen |
|
Kontrollerar om strängen är en tom sträng |
|
Kontrollerar att strängen endast innehåller blanksteg: mellanslag, tabb, ny rad, etc. |
|
Returnerar tecknet vid indexpositionen i strängen. |
|
Returnerar en uppsättning av tecken (en kopia) som utgör strängen |
|
Konverterar en sträng till en uppsättning byte och returnerar arrayen av byte. |
|
Delar upp en sträng i flera delsträngar. |
|
Sammanfogar flera delsträngar |
|
Sätter ett snöre i string pool . |
Du kan lära dig mer om konstruktörer i artikeln Java Constructors .
Låt oss skriva ett program som konverterar en filsökväg från Unix-stil till Windows-stil. Unix använder /
tecknet för att separera mappar, medan Windows använder \
tecknet.
Lösning 1: Använd en char array
Koda | Anteckningar |
---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Konvertera en sträng till en teckenuppsättning Slinga över tecknen Om tecknet är , / ersätt det med \ . Glöm inte att fly. Skapa en ny sträng baserat på teckenuppsättningen. Visa strängen. |
Lösning 2: — med hjälp av metoderna split()
ochjoin()
Koda | Anteckningar |
---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Konvertera sträng till en array av strängar . Tecknet / används som en separator (de extra två snedstreck är resultatet av dubbel escape). Sammanfoga alla strängar i raden av strängar . Den \ används som en separator (vi ser att den har escaped). Visa strängen. |
Lösning 3: — använda replace(char oldChar, char newChar)
metoden
Koda | Anteckningar |
---|---|
|
Skapa ett skannerobjekt Läs en rad från konsolen Byt bara ut ett tecken med ett annat (det andra är escaped) Visa strängen. |
GO TO FULL VERSION