Nível aproximado de conhecimento necessário: missão Java Syntax e um pouco de Java Core.
No final da primeira missão JavaRush aprendemos sobre conversão de tipo. Nas palestras de nível 10, você pode ver que a conversão int
para String
é muito simples e, em geral, quase qualquer tipo primitivo pode ser convertido String
sem problemas.
int x = 5;
String text = "X=" + x;
Além disso, aqueles que já completaram o nível 10 da missão Java Syntax sabem que é impossível converter uma referência a um número em uma referência a uma string. Então, qual é a melhor maneira de converter uma string em um número inteiro primitivo? É melhor fazer isso usando o método parseInt
de classe Integer
. O método parseInt
deve ser convertido String
para int
e lançar uma exceção NumberFormatException
se a string não puder ser convertida para type int
.
Exemplo
Linha básica que converte uma string em um inteiro:
int i = Integer.parseInt (myString);
Se a string indicada pela variável myString
for um número inteiro válido, como "1", "200", o Java irá convertê-la silenciosamente em um tipo de dados primitivo int
. Se por algum motivo isso falhar, tal ação poderá lançar uma exceção NumberFormatException
, portanto, para que o programa funcione corretamente para qualquer string, precisamos de um pouco mais de código. Um programa que demonstra o método de conversão Java String
para int
controle de possíveis NumberFormatException
:
public class JavaStringToIntExample
{
public static void main (String[] args)
{
String s = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
Discussão
Ao estudar o exemplo acima, você verá que o método Integer.parseInt (s.trim ())
é utilizado para transformar uma string s
em um inteiro i
, e isso acontece na seguinte linha de código:
int i = Integer.parseInt (s.trim ())
Mas às vezes converter uma string em um número simplesmente não funciona. Em nosso exemplo, essa string é o nome fred. Podemos falar de códigos em que as letras são escritas em um computador, mas, formalmente, fred não é um número, e é melhor deixá-lo como uma string. Nosso programa foi projetado para que, se você tentar converter "fred" em um número, o processo Integer parseInt
gere uma exceção NumberFormatException
, que você deve tratar em um bloco try / catch
. Neste caso você não precisa usar o método trim ()
de classe String
, mas na programação real você deve usá-lo. Então nós mostramos para você. Já que este tema surgiu, aqui vão algumas “dicas” sobre o tema das aulas String
e Integer
:
Integer.toString (int i)
usado para converter int
em strings Java.
- Se você deseja converter um objeto
String
em um objeto Integer
(em vez de uma classe primitiva int
), use o método valueOf ()
on-class Integer
em vez do método parseInt ()
.
- Se você precisar converter strings em campos Java primitivos adicionais, use métodos como este
Long.parseLong ()
.
Respondido por: Alice Watson
GO TO FULL VERSION