JavaRush /Java Blog /Random-IT /Domanda e risposta: come convertire correttamente String ...

Domanda e risposta: come convertire correttamente String in int in Java?

Pubblicato nel gruppo Random-IT
Livello approssimativo di conoscenza richiesta: ricerca sulla sintassi Java e un po' di Java Core.
Domanda e risposta: come convertire correttamente String in int in Java?  -1
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è Stringmolto semplice e, in generale, è possibile convertire quasi tutti i tipi primitivi Stringsenza 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 parseIntclass Integer. Il metodo parseIntdeve essere convertito Stringin inte genera un'eccezione NumberFormatExceptionse 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 Stringin int, controllo per possibili NumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      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 sin un numero intero ie 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 parseIntgenererà 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 Stringe Integer:
  • Integer.toString (int i)utilizzato per convertire intin stringhe Java.
  • Se vuoi convertire un oggetto Stringin un oggetto Integer(piuttosto che in una classe primitiva int), usa il metodo valueOf ()on-class Integerinvece del metodo parseInt ().
  • Se è necessario convertire stringhe in campi Java primitivi aggiuntivi, utilizzare metodi come questo Long.parseLong ().
Risponde: Alice Watson
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION