Livello approssimativo di conoscenza richiesta: ricerca sulla sintassi Java e un po' di Java Core.
Alla fine della prima missione JavaRush impariamo a conoscere la conversione del tipo. Nelle lezioni del livello 10, hai potuto vedere che la conversione int
è String
molto semplice e, in generale, è possibile convertire quasi tutti i tipi primitivi String
senza problemi.
int x = 5;
String text = "X=" + x;
Inoltre, coloro che hanno già completato il livello 10 della ricerca sulla sintassi Java sanno che è impossibile convertire un riferimento a un numero in un riferimento a una stringa. Allora qual è il modo migliore per convertire una stringa in un numero intero primitivo? È meglio farlo utilizzando il metodo parseInt
class Integer
. Il metodo parseInt
deve essere convertito String
in int
e genera un'eccezione NumberFormatException
se la stringa non può essere convertita in type int
.
Esempio
Linea di base che converte una stringa in un numero intero:
int i = Integer.parseInt (myString);
Se la stringa indicata dalla variabile myString
è un numero intero valido, come "1", "200", Java la convertirà silenziosamente in un tipo di dati primitivo int
. Se per qualche motivo questo fallisce, tale azione potrebbe generare un'eccezione NumberFormatException
, quindi affinché il programma funzioni correttamente per qualsiasi stringa, abbiamo bisogno di un po' più di codice. Un programma che dimostra il metodo di conversione Java String
in int
, controllo per possibili NumberFormatException
:
public class JavaStringToIntExample
{
public static void main (String[] args)
{
String s = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
Discussione
Studiando l'esempio sopra, vedrai che il metodo Integer.parseInt (s.trim ())
viene utilizzato per trasformare una stringa s
in un numero intero i
e ciò avviene nella seguente riga di codice:
int i = Integer.parseInt (s.trim ())
Ma a volte convertire una stringa in un numero semplicemente non funziona. Nel nostro esempio, tale stringa è il nome fred. Possiamo parlare di codici in cui le lettere vengono scritte su un computer, ma formalmente fred non è un numero, ed è meglio lasciarlo come una stringa. Il nostro programma è progettato in modo tale che se provi a convertire "fred" in un numero, il processo Integer parseInt
genererà un'eccezione NumberFormatException
, che dovrai gestire in un blocco try / catch
. In questo caso non devi usare il metodo trim ()
class String
, ma nella programmazione reale dovresti usarlo. Quindi te lo abbiamo mostrato. Dato che questo argomento è emerso, ecco alcuni "suggerimenti" sull'argomento delle lezioni String
e Integer
:
Integer.toString (int i)
utilizzato per convertire int
in stringhe Java.
- Se vuoi convertire un oggetto
String
in un oggetto Integer
(piuttosto che in una classe primitiva int
), usa il metodo valueOf ()
on-class Integer
invece del metodo parseInt ()
.
- Se è necessario convertire stringhe in campi Java primitivi aggiuntivi, utilizzare metodi come questo
Long.parseLong ()
.
Risponde: Alice Watson
GO TO FULL VERSION