Excerpt |
---|
Siden gir en innføring i String-klassen og en oversikt over nyttig String-metoder. |
String-klassen
En String
er en sekvens med tegn (char-verdier) og har metoder for å 1) lese ut enkelttegn eller deler av tegnsekvensen, eller 2) lage ny String
-instanser basert på deler av innholdet. Merk at det ikke finnes metoder i String
som endrer på innholdet, så String
vil derfor i praksis fungere som verdier. Istedet for å endre på innholdet bygger en opp nye String
-instanser med innhold fra eksisterende. For å gjøre dette lettere, har Java egen syntaks for String
-konstanter, +-operatoren kan brukes for å sette samme String
-instanser og verdier og objekter gjøres automatisk om til String
-instanser i mange sammenhenger. Følgende kode illustrerer flere av disse:
Code Block | ||||
---|---|---|---|---|
| ||||
String s = "Dette er en String";
String melding = "Første bokstav i " + s + " er " + s.charAt(0);
System.out.println(melding);
|
Først initialiseres variabelen s
til en String
som inneholder tegnsekvensen D, e, t, t, e, , e, r, , e, n, , S, t, r, i, n, g.
Deretter initialiseres melding
-variabelen vha. { +}-operatoren til sammensetningen av String
'en "Første bokstav i", String
-instansen som s refererer til, " er " og det første tegnet i s
(posisjon 0). Dette skal gi en String
med tegnene "Første bokstav i Dette er en String
er D", som altså er det melding
initialiseres til. Denne blir så skrevet ut av System.out.println
.
En alternativ kodelinje som gir samme resultat er følgende:
Code Block | ||||
---|---|---|---|---|
| ||||
System.out.println("Første bokstav i Dette er en String er " + "Dette er en String".substring(0, 1));
|
...
Her er noen nyttige String
-metoder som det bare er å lære seg først som sist:
char charAt(int n)
returnerer tegnet i posisjonn
, hvor det første tegnet har posisjon 0. F.eks. vil"abc".charAt(1)
returnere tegnet b.int indexOf(char c)
returnerer posisjonen til det første tegnet som er likc
, og eller -1, hvis tegnet ikke finnes i denneString
'en. F.eks. vil"abc".indexOf('b')
returnere 1.int indexOf(String s)
returnerer posisjonen i denneString
'en hvor hele innholdet is
finnes og eller -1. F.eks. vil"abc".indexOf("bc")
returnere 1.boolean contains(String s)
returnerer om denneString
'en innholder innholdet is
et eller annet sted. F.eks. vil"abc".contains("bc")
returneretrue
.boolean startsWith(String s)
returnerertrue
hvis denneString
'en starter med bokstavene is
(i samme rekkefølge), ellers returneresfalse
. F.eks. vil"abc".startsWith("ab")
returneretrue
.boolean endsWith(String s)
returnerertrue
hvis denneString
'en slutter med bokstavene is
(i samme rekkefølge), ellers returneresfalse
. F.eks. vil"abc".endsWith("bc")
returneretrue
.String substring(int start, int end)
returnerer en nyString
-instans med bokstavene fra (om med) posisjonstart
til (men ikke med) posisjonend
. F.eks. vil"abc".substring(2, 3)
returnere"c"
.
String substring(int start)
returnerer en ny String
-instans med bokstavene fra (og med) posisjon start
til enden. F.eks. vil "abc".substring(1)
returnere "bc"
.