Nivel aproximado de conocimientos requeridos: búsqueda de sintaxis de Java y un poco de núcleo de Java.
Al final de la primera misión de JavaRush, aprendemos sobre la conversión de tipos. En las conferencias de nivel 10, pudiste ver que la conversión int
es String
muy simple y, en general, se puede convertir a casi cualquier tipo primitivo String
sin problemas.
int x = 5;
String text = "X=" + x;
Además, aquellos que ya han completado el nivel 10 de la misión de sintaxis de Java saben que es imposible convertir una referencia a un número en una referencia a una cadena. Entonces, ¿cuál es la mejor manera de convertir una cadena en un entero primitivo? Es mejor hacer esto usando el método parseInt
de clase Integer
. El método parseInt
debe convertir String
y int
arroja una excepción NumberFormatException
si la cadena no se puede convertir al tipo int
.
Ejemplo
Línea básica que convierte una cadena en un número entero:
int i = Integer.parseInt (myString);
Si la cadena indicada por la variable myString
es un número entero válido, como "1", "200", Java la convertirá silenciosamente a un tipo de datos primitivo int
. Si por alguna razón esto falla, dicha acción puede generar una excepción NumberFormatException
, por lo que para que el programa funcione correctamente para cualquier cadena, necesitamos un poco más de código. Un programa que demuestra el método de conversión Java String
a int
control para posibles 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());
}
}
Discusión
Cuando estudies el ejemplo anterior, verás que el método Integer.parseInt (s.trim ())
se utiliza para convertir una cadena s
en un número entero i
, y esto sucede en la siguiente línea de código:
int i = Integer.parseInt (s.trim ())
Pero a veces convertir una cadena en un número simplemente no funciona. En nuestro ejemplo, dicha cadena es el nombre fred. Podemos hablar de códigos en los que se escriben letras en una computadora, pero, formalmente hablando, fred no es un número y es mejor dejarlo como una cadena. Nuestro programa está diseñado para que si intentas convertir "fred" en un número, el proceso Integer parseInt
arroje una excepción NumberFormatException
, que debes manejar en un bloque try / catch
. En este caso no es necesario utilizar el método trim ()
de clase String
, pero en la programación real sí deberías utilizarlo. Así que te lo mostramos. Dado que surgió este tema, aquí hay algunos “consejos” sobre el tema de las clases String
y Integer
:
Integer.toString (int i)
Se utiliza para convertir int
a cadenas Java.
- Si desea convertir un objeto
String
en un objeto Integer
(en lugar de una clase primitiva int
), utilice el método valueOf ()
de clase Integer
en lugar de parseInt ()
.
- Si necesita convertir cadenas en campos Java primitivos adicionales, utilice métodos como este
Long.parseLong ()
.
Respondido por: Alice Watson
GO TO FULL VERSION