# 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](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/strings-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](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/primitivos-de-java/) Integer [do Java](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/primitivos-de-java/). Embora existam pelo menos cinco maneiras diferentes de converter [int em string em Java](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/java-int-para-string/), 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.

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 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:

```java
static int parseInt(String s)
```

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:

```java
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);
	}
}
```

O resultado é:

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

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:

```java
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);
	}
}
```

… receberá este aviso de erro:

```java
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)
```

## Mé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:

```java
static int valueOf(int a)
```

Para ver como funciona, veja este exemplo simples:

```java
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);
	}
}
```

Volte a devolver o seguinte:

```java
El valor que contiene el string es: 7312
```

O aviso de erro que aparece se outros caracteres forem armazenados dentro da string é o mesmo do exemplo `parseInt()`.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/java-string-para-int/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/java-string-para-int/) for AI/LLM consumption.