📜  如何在Java中将 String 转换为 Int?

📅  最后修改于: 2022-05-13 01:55:27.593000             🧑  作者: Mango

如何在Java中将 String 转换为 Int?

给定包含数字作为字符的字符串 str,任务是在Java中将此给定字符串转换为整数。

例子:

Input: str = "1234"
Output: 1234

Input: str = "213s"
Output: 0
Since the String contains other than digits,
hence the integer value will be 0
  • 方法一:使用 Integer.parseInt() 方法
    这是将字符串转换为整数的最简单方法。此函数将字符串参数解析为有符号十进制整数。

    句法:

    public static int parseInt(String s)
                throws NumberFormatException
    

    下面是上述方法的实现:

    // Java program to convert String to int
    // using Integer.parseInt() method
      
    import java.io.*;
      
    class GFG {
      
        // Function to convert String to integer
        public static int convert(String str)
        {
            int val = 0;
            System.out.println("String = " + str);
      
            // Convert the String
            try {
                val = Integer.parseInt(str);
            }
            catch (NumberFormatException e) {
      
                // This is thrown when the String
                // contains characters other than digits
                System.out.println("Invalid String");
            }
            return val;
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            String str = "1234";
            int val = convert(str);
            System.out.println("Integer value = " + val);
            System.out.println();
      
            str = "123s";
            val = convert(str);
            System.out.println("Integer value = " + val);
        }
    }
    
    输出:
    String = 1234
    Integer value = 1234
    
    String = 123s
    Invalid String
    Integer value = 0
    
  • 方法二:使用 Guava 库的 Ints::tryParse 方法
    另一种将 String 转换为整数的方法是使用 Guava 库的 Ints::tryParse 方法。它类似于 Integer.parseInt() 方法,但这种方法更加简洁和强大。

    句法:

    public static Integer tryParse(String s)
    

    下面是上述方法的实现:

    // Java program to convert String to int
    // using Ints::tryParse method
      
    import java.io.*;
    import java.util.*;
    import com.google.common.primitives.Ints;
      
    class GFG {
      
        // Function to convert String to integer
        public static int convert(String str)
        {
            int val = 0;
            System.out.println("String = " + str);
      
            // Convert the String
            val = Optional.ofNullable(str)
                      .map(Ints::tryParse)
                      .orElse(0);
      
            return val;
        }
      
        // Driver code
        public static void main(String[] args)
        {
      
            String str = "1234";
            int val = convert(str);
            System.out.println("Integer value = " + val);
            System.out.println();
      
            str = "123s";
            val = convert(str);
            System.out.println("Integer value = " + val);
        }
    }
    
    输出:
    String = 1234
    Integer value = 1234
    
    String = 123s
    Integer value = 0