Parsing e valueOf
Converta le stringhe in numeri
Parsing e valueOf è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 4 lezioni in totale.
Dal testo ai numeri
I dati inseriti dall'utente e quelli letti dai file arrivano come testo String. Per eseguire calcoli, deve convertire queste stringhe in numeri.
Le classi wrapper forniscono due famiglie di metodi per farlo: parseXxx restituisce un primitivo, mentre valueOf restituisce un oggetto wrapper.
parseInt restituisce un primitivo
Integer.parseInt accetta una stringa e restituisce un semplice int. È il metodo di parsing più utilizzato.
public class Main {
public static void main(String[] args) {
int n = Integer.parseInt("123");
System.out.println(n + 1);
}
}valueOf restituisce un wrapper
Integer.valueOf accetta una stringa e restituisce un oggetto Integer invece di un primitivo. È utile quando serve direttamente un wrapper, ad esempio per inserirlo in una collezione.
public class Main {
public static void main(String[] args) {
Integer boxed = Integer.valueOf("456");
System.out.println(boxed);
}
}Analizzare i numeri decimali
Usi Double.parseDouble per il testo che rappresenta numeri in virgola mobile. Gestisce valori con la virgola decimale e persino la notazione scientifica.
public class Main {
public static void main(String[] args) {
double price = Double.parseDouble("19.99");
System.out.println(price * 2);
}
}Analizzare altri tipi
Ogni wrapper numerico dispone di un metodo parse: Long.parseLong, Double.parseDouble, Float.parseFloat, Short.parseShort e Byte.parseByte.
public class Main {
public static void main(String[] args) {
long big = Long.parseLong("9000000000");
System.out.println(big);
}
}Analizzare i booleani
Boolean.parseBoolean restituisce true solo quando il testo è uguale a "true", ignorando maiuscole e minuscole. Qualsiasi altra stringa, incluso null, restituisce 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"));
}
}Analizzare in basi diverse
Integer.parseInt accetta un argomento radix facoltativo. Passando 2 legge un numero binario, mentre passando 16 legge un numero esadecimale.
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);
}
}L'input non valido genera un'eccezione
Se la stringa non rappresenta un numero valido, il parsing genera una NumberFormatException. È opportuno racchiudere i parsing rischiosi in un blocco try-catch.
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!");
}
}
}Attenzione agli spazi
Il parsing non tollera gli spazi circostanti. Integer.parseInt(" 5 ") genera un'eccezione.
Chiami sempre trim() o strip() prima sull'input dell'utente.
public class Main {
public static void main(String[] args) {
String raw = " 42 ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);
}
}Dai numeri al testo
Per effettuare la conversione inversa, usi String.valueOf o Integer.toString. Entrambi trasformano un numero nella relativa rappresentazione testuale.
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 rispetto a valueOf
Ricordi la regola: parseInt restituisce un primitivo int, mentre valueOf restituisce un oggetto Integer. Scelga in base alla necessità di un primitivo o di un wrapper.
Verifica rapida
Verifichi ciò che ha imparato sul parsing.
Riepilogo
Ha imparato a convertire stringhe e numeri:
parseInt,parseDoublee i metodi analoghi restituiscono primitivivalueOfrestituisce oggetti wrapper- Un input non valido genera una
NumberFormatException, quindi lo ripulisca con trim e gestisca l'eccezione parseIntpuò leggere altre basi tramite un argomento radix- Usi
toStringoString.valueOfper riconvertire i numeri in testo
Domande Frequenti
La lezione «Parsing e valueOf» è gratuita?
Sì — il testo completo di «Parsing e valueOf» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 4 lezioni in totale.
Cosa imparerò in «Parsing e valueOf»?
Converta le stringhe in numeri Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Parsing e valueOf»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Tipi primitivi e wrapper
- Autoboxing e unboxing
- Parsing e valueOf
- Insidie dell'autoboxing