Se você quer converter uma Java string em int, saiba que existem duas opções simples para fazer isso: parseInt() e valueOf(). No entanto, ambas só funcionam se a string for composta somente por números inteiros e não exceder o intervalo de valores do tipo de dados int.

Por que converter Java string em int?

Strings em Java são con­ca­te­na­ções que podem conter ca­rac­te­res, números e ca­rac­te­res especiais. Na linguagem de pro­gra­ma­ção Java, os números na forma de valores inteiros são salvos como int. Se você tem uma string composta apenas por números inteiros, poderá convertê-la no tipo de dado primitivo em Java int, que é a abre­vi­a­ção de inteiro (integer). Existem cinco formas di­fe­ren­tes de se converter uma Java int em string, mas há apenas duas opções para converter Java string em int: Integer parseInt() e Integer.valueOf(). Ex­pli­ca­re­mos abaixo como esses métodos funcionam por meio de exemplos práticos.

Nota

Note que essa conversão só fun­ci­o­nará se o número em questão estiver entre -2147483648 e 2147483647. Números maiores ou menores não são re­pre­sen­ta­dos usando o tipo de dado int.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Como usar Integer.parseInt()

parseInt() é um método estático que pertence à classe Integer e retorna o valor numérico do tipo de dado complexo string na forma de um tipo de dado primitivo int. Esta é sua sintaxe:

static int parseInt(String s)
java

Vamos analisar um exemplo. Primeiro, ini­ci­a­li­za­mos uma string que contém somente o valor “7312”. Em seguida, con­ver­te­mos Java string em int usando o método parseInt(). Por fim, apre­sen­ta­mos o resultado usando o comando Java System.out.println. O código será o seguinte:

public class Main {
	public static void main(String args[]) {
		String str = "7312";
		int numero = Integer.parseInt(str);
		System.out.println("Valor da string: " + numero);
	}
}
java

Este será o resultado:

Valor da string: 7312
java

No entanto, isso só fun­ci­o­nará se a string for composta ex­clu­si­va­mente por números inteiros. Se houver outro tipo de conteúdo, você receberá uma mensagem de erro:

public class Main {
	public static void main(String args[]) {
		String str = "Valor 7312";
		int number = Integer.parseInt(str);
		System.out.println("Valor da string: " + number);
	}
}
java

Este será o erro exibido:

Exception in thread "main" java.lang.NumberFormatException: For input string: "Valor 7312"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:661)
at java.base/java.lang.Integer.parseInt(Integer.java:777)
at Main.main(Main.java:4)
java

Como usar Integer.valueOf()

Integer.valueOf() é outro método da classe Integer. Ele retorna a in­ter­pre­ta­ção decimal de um objeto string, logo, também é útil para converter Java string em int. Sua sintaxe é:

static Integer valueOf(String s)
java

Vamos analisar um exemplo simples:

public class Main {
	public static void main(String args[]) {
		String novaString = "7312";
		int parNumero = Integer.valueOf(novaString);
		System.out.println("Valor da string: " + parNumero);
	}
}
java

Novamente, você receberá o seguinte resultado:

Valor da string: 7312
java

Se a string contiver qualquer elemento que não seja um número inteiro, a mesma mensagem de erro apre­sen­tada no outro método será exibida novamente.

Ir para o menu principal