给定包含数字作为字符的字符串 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
- 方法一:使用整数.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
相关用法
- Java TimeZone getOffset(int, int, int, int, int, int)用法及代码示例
- Java ZoneOffset ofHoursMinutesSeconds(int, int, int)用法及代码示例
- Java SimpleTimeZone setStartRule(int, int, int)用法及代码示例
- Java SimpleTimeZone setEndRule(int, int, int)用法及代码示例
- Java HijrahDate of(int, int, int)用法及代码示例
- Java JapaneseDate of(int, int, int)用法及代码示例
- Java JapaneseDate of(JapaneseEra,int, int, int)用法及代码示例
- Java MinguoChronology date(int, int, int)用法及代码示例
- Java MinguoDate of(int, int, int)用法及代码示例
- Java ThaiBuddhistChronology date(int, int, int)用法及代码示例
- Java JapaneseChronology date(int, int, int)用法及代码示例
- Java IsoChronology date(int, int, int)用法及代码示例
- Java PrintWriter write(String, int, int)用法及代码示例
- Java Writer write(String, int, int)用法及代码示例
- Java StringWriter write(String, int, int)用法及代码示例
- Java Math subtractExact(int a , int b)用法及代码示例
- Java Math addExact(int a, int b)用法及代码示例
- Java IntMath.checkedSubtract(int a, int b)用法及代码示例
- Java IntMath.checkedMultiply(int a, int b)用法及代码示例
- Java Matcher region(int, int)用法及代码示例
- Java ZoneOffset ofHoursMinutes(int, int)用法及代码示例
- Java Guava IntMath pow(int b, int k)用法及代码示例
- Java Guava IntMath gcd(int a, int b)用法及代码示例
- Java Guava LongMath binomial(int n, int k)用法及代码示例
注:本文由纯净天空筛选整理自Code_r大神的英文原创作品 How to convert a String to an Int in Java?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。