Parsing og Valueof
Konvertér strings til tal
Parsing og Valueof er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 4 lektioner i alt.
Fra tekst til tal
Brugerinput og filer kommer som String-tekst. Hvis du vil udføre beregninger, skal du konvertere disse strenge til tal.
Wrapperklasser stiller to grupper af metoder til rådighed til dette: parseXxx returnerer en primitiv type, og valueOf returnerer et wrapperobjekt.
parseInt returnerer en primitiv type
Integer.parseInt tager en streng og returnerer en almindelig int. Dette er den mest almindelige metode til parsing.
public class Main {
public static void main(String[] args) {
int n = Integer.parseInt("123");
System.out.println(n + 1);
}
}valueOf returnerer en wrapper
Integer.valueOf tager en streng og returnerer et Integer-objekt i stedet for en primitiv type. Det er praktisk, når du har brug for en wrapper direkte, for eksempel for at placere den i en samling.
public class Main {
public static void main(String[] args) {
Integer boxed = Integer.valueOf("456");
System.out.println(boxed);
}
}Parsing af decimaltal
Brug Double.parseDouble til tekst med flydende komma. Den håndterer værdier med decimaltegn og endda videnskabelig notation.
public class Main {
public static void main(String[] args) {
double price = Double.parseDouble("19.99");
System.out.println(price * 2);
}
}Parsing af andre typer
Alle numeriske wrappere har en parse-metode: Long.parseLong, Double.parseDouble, Float.parseFloat, Short.parseShort og Byte.parseByte.
public class Main {
public static void main(String[] args) {
long big = Long.parseLong("9000000000");
System.out.println(big);
}
}Parsing af booleske værdier
Boolean.parseBoolean returnerer kun true, når teksten er lig med "true" uden hensyn til store og små bogstaver. Alle andre strenge, herunder null, returnerer false.
public class Main {
public static void main(String[] args) {
System.out.println(Boolean.parseBoolean("true"));
System.out.println(Boolean.parseBoolean("TRUE"));
System.out.println(Boolean.parseBoolean("yes"));
}
}Parsing i forskellige grundtal
Integer.parseInt accepterer et valgfrit radix-argument. Hvis du angiver 2, læses binær notation; 16 læser hexadecimal notation.
public class Main {
public static void main(String[] args) {
int binary = Integer.parseInt("1010", 2);
int hex = Integer.parseInt("ff", 16);
System.out.println(binary);
System.out.println(hex);
}
}Ugyldigt input udløser en fejl
Hvis strengen ikke er et gyldigt tal, udløser parsing en NumberFormatException. Du bør indkapsle risikable parse-kald i en try-catch-blok.
public class Main {
public static void main(String[] args) {
try {
int n = Integer.parseInt("hello");
System.out.println(n);
} catch (NumberFormatException e) {
System.out.println("Not a number!");
}
}
}Pas på mellemrum
Parsing accepterer ikke mellemrum omkring teksten. Integer.parseInt(" 5 ") udløser en undtagelse.
Kald altid trim() eller strip() på brugerinput først.
public class Main {
public static void main(String[] args) {
String raw = " 42 ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);
}
}Tal tilbage til tekst
Hvis du vil gå den anden vej, skal du bruge String.valueOf eller Integer.toString. Begge konverterer et tal til dets tekstform.
public class Main {
public static void main(String[] args) {
String text = Integer.toString(789);
String text2 = String.valueOf(3.14);
System.out.println(text.length());
System.out.println(text2);
}
}parseXxx kontra valueOf
Husk reglen: parseInt giver en primitiv int, mens valueOf giver et Integer-objekt. Vælg ud fra, om du har brug for en primitiv type eller en wrapper.
Hurtig kontrol
Test, hvad du har lært om parsing.
Opsummering
Du har lært, hvordan du konverterer mellem strenge og tal:
parseInt,parseDoubleog tilsvarende metoder returnerer primitive typervalueOfreturnerer wrapperobjekter- Ugyldigt input udløser
NumberFormatException, så fjern mellemrum og håndter undtagelsen parseIntkan læse andre grundtal med et radix-argument- Brug
toStringellerString.valueOftil at konvertere tilbage til tekst
Lær Java med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 104
- Lektioner
- 374
Ofte stillede spørgsmål
Er lektionen “Parsing og Valueof” gratis?
Ja — hele teksten til “Parsing og Valueof” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Parsing og Valueof”?
Konvertér strings til tal Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Java Academy?
Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Parsing og Valueof”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Java Academy-lektion?
Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Primitive typer kontra wrapper-typer
- Autoboxing og unboxing
- Parsing og Valueof
- Faldgruber ved autoboxing