如何在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