"Vad tycker du, Amigo? Vilken är den populäraste Java-klassen efter int?"
"Du har redan gett mig en spoiler i titeln på lektionen, Ellie. Det är String
!"
"Det är faktiskt en spoiler. String
används absolut överallt. Den har en massa användbara metoder som du är bättre att känna till.
" String
Klassen är den enda klassen förutom primitiva typer vars bokstavliga ord kan användas i ett switch
uttalande; kompilatorn hanterar strängaddition och strängobjekt på ett speciellt sätt; String
objekt lagras i minnet på ett speciellt sätt. I grund och botten String
är klassen en mycket specialklass.
"Klassen har också String
ett gäng medhjälparklasser 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."
"Jag kan inte vänta."
"Tja, vi börjar från själva kärnan av detta ekosystem - klassens organisation. String
Klassens struktur String
är faktiskt väldigt enkel: inuti den finns en teckenuppsättning ( char
array) som lagrar alla tecken i strängen. För Så här lagras till exempel ordet "Hej":
Det är viktigt.
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.
Metoder i klassen String
Klassen String
har många metoder: den har bara 18 konstruktörer! Så nedan kommer jag bara att lista de mest använda:
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 |
|
Lägger ett snöre i snörepoolen. |
"Det ser väldigt bra ut!"
"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ända 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. Använd metoderna split()
och join()
:
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änd 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. |
"Jag gillade den tredje lösningen mest. Men jag ska träna alla tre."
"Bra gjort, Amigo. Jag ser att du redan är otålig att omsätta dina nya kunskaper i praktiken. Lektionen är över."
GO TO FULL VERSION