Parsa och valueOf
Konvertera strängar till tal
Parsa och valueOf är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 4 lektioner.
Text till tal
Användarinmatning och filer kommer in som String-text. För att utföra beräkningar måste Ni konvertera dessa strängar till tal.
Wrapperklasser tillhandahåller två grupper av metoder för detta: parseXxx returnerar en primitiv typ och valueOf returnerar ett wrapperobjekt.
parseInt returnerar en primitiv typ
Integer.parseInt tar en sträng och returnerar ett vanligt int. Detta är den vanligaste metoden för parsning.
public class Main {
public static void main(String[] args) {
int n = Integer.parseInt("123");
System.out.println(n + 1);
}
}valueOf returnerar en wrapper
Integer.valueOf tar en sträng och returnerar i stället ett Integer-objekt. Det är praktiskt när Ni behöver en wrapper direkt, till exempel för att lägga in den i en samling.
public class Main {
public static void main(String[] args) {
Integer boxed = Integer.valueOf("456");
System.out.println(boxed);
}
}Parsa decimaltal
Använd Double.parseDouble för text som innehåller flyttal. Den hanterar värden med decimaltecken och även vetenskaplig notation.
public class Main {
public static void main(String[] args) {
double price = Double.parseDouble("19.99");
System.out.println(price * 2);
}
}Parsa andra typer
Varje numerisk wrapper har en parse-metod: Long.parseLong, Double.parseDouble, Float.parseFloat, Short.parseShort och Byte.parseByte.
public class Main {
public static void main(String[] args) {
long big = Long.parseLong("9000000000");
System.out.println(big);
}
}Parsa booleska värden
Boolean.parseBoolean returnerar true endast när texten är lika med "true" utan hänsyn till skiftläge. Alla andra strängar, inklusive null, returnerar 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"));
}
}Parsa i olika baser
Integer.parseInt accepterar ett valfritt radixargument. Om Ni skickar in 2 läses talet som binärt, och med 16 läses det som hexadecimalt.
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);
}
}Felaktig indata utlöser ett undantag
Om strängen inte är ett giltigt tal utlöser parsningen ett NumberFormatException. Ni bör omge riskfyllda parsningar med ett try-catch-block.
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!");
}
}
}Se upp med blanksteg
Parsning tolererar inte omgivande blanksteg. Integer.parseInt(" 5 ") utlöser ett undantag.
Anropa alltid trim() eller strip() på användarinmatning 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 tillbaka till text
För att gå åt andra hållet använder Ni String.valueOf eller Integer.toString. Båda omvandlar ett tal till dess textform.
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 jämfört med valueOf
Kom ihåg regeln: parseInt ger en primitiv int, medan valueOf ger ett Integer-objekt. Välj utifrån om Ni behöver en primitiv typ eller en wrapper.
Snabbkontroll
Testa vad Ni har lärt Er om parsning.
Sammanfattning
Ni har lärt er att konvertera mellan strängar och tal:
parseInt,parseDoubleoch motsvarande metoder returnerar primitiva typervalueOfreturnerar wrapperobjekt- Felaktig indata utlöser
NumberFormatException, så trimma indata och fånga undantaget parseIntkan läsa andra baser med ett radixargument- Använd
toStringellerString.valueOfför att gå tillbaka till text
Lär dig Java med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 104
- Lektioner
- 374
Vanliga frågor
Är lektionen ”Parsa och valueOf” gratis?
Ja – hela texten till ”Parsa och valueOf” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Parsa och valueOf”?
Konvertera strängar till tal Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Java Academy?
Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Parsa och valueOf”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Java Academy-lektionen?
Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Primitiva typer jämfört med wrapper-typer
- Autoboxning och unboxing
- Parsa och valueOf
- Fallgropar med autoboxning