JavaRush /Blogue Java /Random-PT /Pergunta e resposta: Como converter corretamente String e...

Pergunta e resposta: Como converter corretamente String em int em Java?

Publicado no grupo Random-PT
Nível aproximado de conhecimento necessário: missão Java Syntax e um pouco de Java Core.
Pergunta e resposta: Como converter corretamente String em int em Java?  - 1
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 intpara Stringé muito simples e, em geral, quase qualquer tipo primitivo pode ser convertido Stringsem 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 parseIntde classe Integer. O método parseIntdeve ser convertido Stringpara inte lançar uma exceção NumberFormatExceptionse 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 myStringfor 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 Stringpara intcontrole de possíveis NumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      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 sem 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 parseIntgere 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 Stringe Integer:
  • Integer.toString (int i)usado para converter intem strings Java.
  • Se você deseja converter um objeto Stringem um objeto Integer(em vez de uma classe primitiva int), use o método valueOf ()on-class Integerem 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
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION