¿Cómo convertir un String a Int en Java?

| Última modificación: 6 de marzo de 2025 | Tiempo de Lectura: 4 minutos

Recuerdo claramente mis primeros pasos en Java. Una de las dudas que más quebraderos de cabeza me causaba era cómo convertir un String a int. Puede sonar sencillo ahora, pero te aseguro que más de una vez me tropecé con errores inesperados que detenían mis programas y me dejaban frustrado por horas.

Si estás aquí, seguramente estés en la misma situación: has recibido datos en forma de texto y ahora necesitas tratarlos como números para hacer cálculos. ¡Te entiendo perfectamente! En este artículo voy a mostrarte los métodos más sencillos, seguros y prácticos para transformar un String en un int en Java, además de algunos trucos que aprendí para evitar los típicos errores que nos hacen perder tiempo.

Pasar un String a Int en Java: Fácil y sin errores

Convertir un String en int en Java es algo similar a desbloquear una puerta. El String es esa puerta cerrada, mientras que los métodos que te voy a mostrar son como la llave que te permite abrirla. Pero, cuidado, porque no todas las llaves sirven igual.

Método 1: Integer.parseInt()

Este es, sin duda, el método más popular y el que siempre uso por ser sencillo, rápido y eficaz. La sintaxis básica es:

String texto = "1234";
int numero = Integer.parseInt(texto);
System.out.println(numero); // Resultado: 1234

Sin embargo, si la cadena no contiene un número válido (por ejemplo, "123abc"), este método lanzará una excepción de tipo NumberFormatException. Mi consejo es siempre manejar esta excepción para evitar bloqueos indeseados:

String texto = "abc123";
try {
int numero = Integer.parseInt(texto);
System.out.println(numero);
} catch (NumberFormatException e) {
System.out.println("El String no contiene un número válido.");
}

Al envolver el código en un bloque try-catch, te aseguras de que tu programa no se detenga bruscamente, además de poder avisar claramente al usuario o registrar el error.

Método 2: Integer.valueOf()

Este método también permite convertir un String a un número entero, pero devuelve un objeto Integer en lugar del tipo primitivo int. Es útil si necesitas trabajar con colecciones o estructuras que manejan objetos:

String texto = "5678";
try {
Integer numero = Integer.valueOf(texto);
System.out.println(numero);
} catch (NumberFormatException e) {
System.out.println("Formato de número inválido.");
}

La diferencia práctica es mínima respecto al método anterior, aunque recuerda que Integer.valueOf() devuelve un objeto y no un tipo primitivo. Yo suelo optar por parseInt() para operaciones matemáticas simples por eficiencia.

String a Int

¿Cuándo usar parseInt y cuándo usar valueOf?

En mi experiencia profesional como desarrollador Java, he notado que para tareas que implican muchos cálculos o bucles muy grandes conviene usar parseInt() ya que es más eficiente en rendimiento, pues devuelve directamente un tipo primitivo (int). Sin embargo, si vas a almacenar el resultado en listas o colecciones, te conviene usar Integer.valueOf() para obtener directamente un objeto Integer.

¿Cómo manejar errores al convertir un String a Int en Java?

Algo que siempre insisto mucho en los foros y con mis alumnos es que, aunque parezca trivial, la conversión de texto a números es una fuente frecuente de errores. Te recomiendo estas prácticas personales para minimizar estos problemas:

Método 1: Verifica antes de convertir

Si no quieres depender exclusivamente de manejar excepciones, puedes validar previamente el String con expresiones regulares:

String texto = "9876";
if (texto.matches("\\d+")) {
int numero = Integer.parseInt(texto);
System.out.println(numero);
} else {
System.out.println("El texto no es un número entero válido.");
}

Esta técnica me ha ahorrado muchos dolores de cabeza cuando no estoy seguro del origen o calidad de la cadena.

Método 2: Uso de Guava (Alternativa cómoda)

Cuando he trabajado en proyectos con bibliotecas externas, Guava ha sido una gran ayuda por su claridad y simplicidad. Esta librería de Google ofrece Ints.tryParse(), que simplifica mucho el proceso:

import com.google.common.primitives.Ints;

String texto = "1024";
Integer numero = Ints.tryParse(texto);
if (numero != null) {
System.out.println(numero);
} else {
System.out.println("El texto no es un número válido.");
}

Aquí el resultado será null si la conversión falla, evitando lanzar una excepción, lo cual facilita la gestión de errores.

Errores frecuentes al convertir un String a int y cómo evitarlos

Tras años ayudando en foros, he visto repetirse estos errores constantemente:

  • Error: Cadena vacía o espacios en blanco.
  • Solución: Aplica trim() antes de convertir:
int numero = Integer.parseInt(texto.trim());
  • Error: String con decimales (por ejemplo, "12.5").
  • Solución: Usa Double.parseDouble() o revisa el formato antes.
  • Error: Caracteres no numéricos.
  • Solución: Usa un bloque try-catch o validaciones previas, como mencioné antes.

Mi recomendación personal

En el día a día uso casi siempre Integer.parseInt() acompañado de validaciones o excepciones. Solo recurro a Ints.tryParse() cuando sé que la aplicación incluye Guava. Esta combinación te evitará problemas el 99 % del tiempo.

Si estás aprendiendo Java y quieres convertirte en un experto en programación, te invito a explorar el Bootcamp de Desarrollo Web de KeepCoding. En pocas semanas dominarás Java y otras tecnologías esenciales, logrando avanzar rápidamente hacia mejores oportunidades laborales en IT. Conviértete en un profesional demandado, aprende haciendo y únete a nuestra comunidad apasionada. ¡Tu futuro empieza programando con nosotros!

String a Int,string a int en java
Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos