Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/java-convert-string-to-int.html

java String 转 int 的最详全解

Java 笔记 Java 笔记


java 中,如何高效地把数字的 String 转换为 int,主要推荐两种方式,一种是 jdk 的 Integer.parseInt,另一种是 Guava 的 Ints.tryParse

Guava 的 Ints.tryParse

Google 的 Guava 库提供了静态方法 Ints.tryParse,当参数为非数字的字符串时,返回 null,并不会报错。

如果使用 java 1.8 及以上版本,可以借用 Optional 类来规避繁琐的 null 判断,具体示例如下:

import com.google.common.primitives.Ints;

int num = Optional.ofNullable(myString)
 .map(Ints::tryParse)
 .orElse(0)

myString 为数字字符串时,返回 int 类型的对应数字,若 myStringnull 或者非字符串时,返回 orElse 方法指定的数字,如上示例为 0。

JDK 的 Integer.parseInt

JDK 也直接提供了静态方法 Integer.parseInt,但需要注意的是,如果待转换的字符串为非数字字符串时,会报 NumberFormatException 错误,需要通过 try catch 进行容错,具体示例如下:

int num;
try {
   num = Integer.parseInt(myString);
}
catch (NumberFormatException e)
{
   num = 0;
}

此外,JDK 中也有 Integer.valueOf(str) 静态方法,但是它返回 Integer 封装类型,转换成 int 需要进一步转换。

valueOf 方法正常情况下,返回一个 java.lang.Integer 的新实例或者内部缓存的实例;

parseInt 方法正常情况下,返回基本类型 int

处理可能的异常,如`NumberFormatException`,以处理非法输入。处理可能的异常,如`NumberFormatExcepti ...
toString(int)方法这是一种最简单的方式,通过`Integer`类的静态方法`toString(inti)`将`int`值转换为` ...
parseInt()方法这是Java标准库提供的一种方式,可以将字符串转换为整数。示例代码:###方法三:使用ApacheCommonsLa ...
在Java中将`double`类型转换为`int`类型有几种方法,下面将详细介绍每种方法的步骤流程,并提供示例代码。在上面的示例中,`dou ...
在Java中,将字符串转换为日期的过程涉及到日期字符串的解析和日期对象的构建。示例代码:###方式3:使用ApacheCommonsLang ...