Se quiser fazer uma conversão em Java com String para int, tem duas opções simples: parseInt() e valueOf(). Esses métodos, no entanto, só funcionam se a string contiver apenas números inteiros e não exceder o intervalo de valores do tipo de dados Integer.

Operações String to int em Java

As strings em Java são cadeias que contêm letras, números ou ca­rac­te­res especiais. Nesta linguagem de pro­gra­ma­ção, os números na forma de valores inteiros podem ser ar­ma­ze­na­dos como Integer (int). Se estiver a usar uma string que consiste apenas em números inteiros, pode convertê-la no tipo de dados primitivo Integer do Java. Embora existam pelo menos cinco maneiras di­fe­ren­tes de converter int em string em Java, para o processo inverso, a conversão de string para int em Java pode ser feita prin­ci­pal­mente com dois métodos: Integer parseInt() e Integer.valueOf(). Ex­pli­ca­mos como funcionam com alguns exemplos.

Nota

Tenha em atenção que a conversão só funciona se o valor numérico estiver entre -2147483648 e 2147483647. Valores maiores ou menores não podem ser pro­je­ta­dos com o tipo de dados Integer.

Método Integer.parseInt()

parseInt() é um método estático que pertence à classe Integer e pode retornar o valor numérico de uma string de tipo de dados completo na forma de um tipo de dados primitivo int. A sua sintaxe é a seguinte:

static int parseInt(String s)
java

Para entender como funciona, o melhor é ver o método em ação com um exemplo. Neste caso, primeiro inicia-se uma string que contém apenas o valor inteiro “7312”. Em seguida, executa-se a operação Java string to int com o método parseInt() e utiliza-se o comando Java System.out.println para extrair o valor. O código é o seguinte:

public class Main {
	public static void main(String args[]) {
		String str = "7312";
		int número = Integer.parseInt(str);
		System.out.println("El valor numérico que contiene el string es: " + número);
	}
}
java

O resultado é:

El valor numérico que contiene el string es: 7312
java

No entanto, isto só funciona se a string consistir apenas em números inteiros. Se não for esse o caso e o método parseInt() for executado, ocorre o seguinte:

public class Main {
	public static void main(String args[]) {
		String str = "El número que se busca es 7312";
		int nummer = Integer.parseInt(str);
		System.out.println("El valor numérico que contiene el string es: " + número);
	}
}
java

… receberá este aviso de erro:

Exception in thread "main" java.lang.NumberFormatException: For input string: "El número que se busca es 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

Método Integer.valueOf()

Integer.valueOf() é outro método da classe Integer. Produz a in­ter­pre­ta­ção decimal de um objeto string e, portanto, também serve para converter string para int em Java. A sintaxe é a seguinte:

static int valueOf(int a)
java

Para ver como funciona, veja este exemplo simples:

public class Main {
	public static void main(String args[]) {
		String newString = "7312";
		int parNummer = Integer.valueOf(newString);
		System.out.println("El valor numérico que contiene el string es: " + parNummer);
	}
}
java

Volte a devolver o seguinte:

El valor que contiene el string es: 7312
java

O aviso de erro que aparece se outros ca­rac­te­res forem ar­ma­ze­na­dos dentro da string é o mesmo do exemplo parseInt().

Ir para o menu principal