String para int em Java: dois métodos práticos de conversão
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 caracteres especiais. Nesta linguagem de programação, os números na forma de valores inteiros podem ser armazenados 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 diferentes de converter int em string em Java, para o processo inverso, a conversão de string para int em Java pode ser feita principalmente com dois métodos: Integer parseInt() e Integer.valueOf(). Explicamos como funcionam com alguns exemplos.
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 projetados 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)javaPara 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);
}
}javaO resultado é:
El valor numérico que contiene el string es: 7312javaNo 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)javaMétodo Integer.valueOf()
Integer.valueOf() é outro método da classe Integer. Produz a interpretaçã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)javaPara 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);
}
}javaVolte a devolver o seguinte:
El valor que contiene el string es: 7312javaO aviso de erro que aparece se outros caracteres forem armazenados dentro da string é o mesmo do exemplo parseInt().